*{margin:0;padding:0;box-sizing:border-box}:root{--terminal-green: #00ff41;--terminal-green-bright: #00ff7f;--terminal-green-dim: #00cc33;--matrix-green: #00ff00;--cyber-cyan: #00ffff;--neon-pink: #ff00ff;--neon-purple: #9d00ff;--neon-blue: #0080ff;--amber-accent: #ffb000;--bg-primary: #0a0a0a;--bg-secondary: #0f0f0f;--bg-tertiary: #1a1a1a;--bg-dark: #000000;--bg-terminal: #0d1117;--text-primary: var(--terminal-green);--text-secondary: var(--terminal-green-dim);--text-dim: #008811;--text-accent: var(--cyber-cyan);--text-warning: var(--amber-accent);--text-error: #ff4444;--border-color: var(--terminal-green-dim);--border-accent: var(--terminal-green);--border-glow: rgba(0, 255, 65, .3);--shadow-sm: 0 0 10px rgba(0, 255, 65, .1);--shadow-md: 0 0 20px rgba(0, 255, 65, .2);--shadow-lg: 0 0 30px rgba(0, 255, 65, .3);--shadow-xl: 0 0 40px rgba(0, 255, 65, .4);--shadow-neon: 0 0 20px rgba(0, 255, 65, .6), 0 0 40px rgba(0, 255, 65, .4);--shadow-matrix: 0 0 30px rgba(0, 255, 0, .5);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-base: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1);--transition-butter: .3s cubic-bezier(.25, .46, .45, .94);--transition-apple: .5s cubic-bezier(.25, .1, .25, 1);--border-radius: 4px;--border-radius-sm: 2px;--border-radius-lg: 8px;--border-radius-terminal: 0px}html{scroll-behavior:smooth;font-size:16px}body{font-family:Courier New,Fira Code,JetBrains Mono,monospace;line-height:1.4;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-shadow:0 0 2px rgba(0,255,65,.3);letter-spacing:.5px}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.matrix-rain{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;opacity:.15;pointer-events:none}.scanline{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);z-index:2;animation:scanline 8s linear infinite;pointer-events:none}.terminal-glitch{position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.03) 2px,rgba(0,255,65,.03) 4px);z-index:2;pointer-events:none;animation:glitch .3s infinite}.cursor{width:12px;height:12px;background:var(--terminal-green);border-radius:2px;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;transition:transform var(--transition-butter);box-shadow:0 0 10px var(--terminal-green);mix-blend-mode:difference}.cursor-follower{width:30px;height:30px;border:1px solid var(--terminal-green);border-radius:2px;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:transform var(--transition-butter),border-color var(--transition-butter);box-shadow:0 0 20px #00ff414d;mix-blend-mode:difference}.navbar{position:fixed;top:0;width:100%;background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--border-color);z-index:1000;transition:all var(--transition-butter);box-shadow:0 2px 20px #00ff411a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}.nav-logo .logo-text{font-size:1.2rem;font-weight:700;color:var(--terminal-green);text-decoration:none;font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px var(--terminal-green)}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;position:relative;transition:all var(--transition-butter);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.9rem;letter-spacing:1px;padding:.5rem 1rem;border:1px solid transparent}.nav-link:before{content:"[";position:absolute;left:0;color:var(--terminal-green-dim);opacity:0;transition:all var(--transition-butter)}.nav-link:after{content:"]";position:absolute;right:0;color:var(--terminal-green-dim);opacity:0;transition:all var(--transition-butter)}.nav-link:hover{color:var(--terminal-green);border-color:var(--border-glow);box-shadow:0 0 10px #00ff414d;text-shadow:0 0 5px var(--terminal-green)}.nav-link:hover:before,.nav-link:hover:after{opacity:1}.nav-toggle{display:none;flex-direction:column;cursor:pointer}.nav-toggle span{width:25px;height:3px;background:var(--text-primary);margin:3px 0;transition:.3s}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;background:var(--bg-primary);overflow:hidden;border:2px solid var(--border-color)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.gradient-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.4;animation:matrix-float 8s ease-in-out infinite}.orb-1{width:400px;height:400px;background:var(--terminal-green);top:20%;left:10%;animation-delay:0s;box-shadow:var(--shadow-matrix)}.orb-2{width:300px;height:300px;background:var(--cyber-cyan);top:60%;right:20%;animation-delay:2s;box-shadow:0 0 50px #0ff6}.orb-3{width:350px;height:350px;background:var(--neon-purple);bottom:20%;left:30%;animation-delay:4s;box-shadow:0 0 50px #9d00ff66}@keyframes matrix-float{0%,to{transform:translateY(0) rotate(0) scale(1)}50%{transform:translateY(-30px) rotate(180deg) scale(1.1)}}@keyframes terminal-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes glitch{0%,to{transform:translate(0);filter:hue-rotate(0deg)}20%{transform:translate(-2px,2px);filter:hue-rotate(90deg)}40%{transform:translate(-2px,-2px);filter:hue-rotate(180deg)}60%{transform:translate(2px,2px);filter:hue-rotate(270deg)}80%{transform:translate(2px,-2px);filter:hue-rotate(360deg)}}@keyframes scanline{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;z-index:2;position:relative;max-width:1200px;margin:0 auto;padding:0 2rem}.hero-text{color:var(--terminal-green);z-index:3;position:relative}.terminal-prompt{font-family:Fira Code,monospace;font-size:.9rem;margin-bottom:1.5rem;opacity:.8}.cursor-blink{animation:terminal-blink 1s infinite}.hero-title{font-size:4rem;font-weight:700;line-height:1.1;margin-bottom:1rem;font-family:JetBrains Mono,monospace;text-transform:uppercase}.greeting{display:block;font-size:1.2rem;font-weight:400;opacity:.7;margin-bottom:.5rem}.name{display:block;background:linear-gradient(45deg,var(--terminal-green),var(--cyber-cyan),var(--neon-purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(0,255,65,.5);animation:glitch 3s infinite}.hero-subtitle{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500;font-family:Fira Code,monospace;text-transform:uppercase}.separator{color:var(--text-dim);opacity:.6}.status-online{color:var(--terminal-green);animation:terminal-blink 2s infinite}.mode-hack{color:var(--amber-accent);font-weight:700}.separator{opacity:.7}.hero-description{font-size:.95rem;line-height:1.6;opacity:.8;margin-bottom:2rem;max-width:600px;font-family:Fira Code,monospace;background:#00ff410d;padding:1.5rem;border-left:3px solid var(--terminal-green);border-radius:var(--border-radius-sm)}.hero-actions{display:flex;gap:1rem}.btn{padding:1rem 2rem;border-radius:var(--border-radius);text-decoration:none;font-weight:600;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;font-size:1rem}.btn-primary{background:transparent;color:var(--terminal-green);border:2px solid var(--terminal-green);box-shadow:var(--shadow-neon);font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--terminal-green);transition:left var(--transition-butter);z-index:-1}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #00ff4199;color:var(--bg-primary)}.btn-primary:hover:before{left:0}.btn-secondary{background:transparent;color:var(--cyber-cyan);border:2px solid var(--cyber-cyan);font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--cyber-cyan);transition:left var(--transition-butter);z-index:-1}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 0 30px #0ff9;color:var(--bg-primary)}.btn-secondary:hover:before{left:0}.hero-visual{display:flex;justify-content:center;align-items:center;z-index:3;position:relative}.terminal-window{background:var(--bg-terminal);border-radius:var(--border-radius-terminal);overflow:hidden;box-shadow:var(--shadow-matrix);border:2px solid var(--border-color);max-width:450px;width:100%;position:relative}.terminal-window:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 3s linear infinite}.terminal-header{display:flex;align-items:center;padding:1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.terminal-dots{display:flex;gap:.5rem;margin-right:1rem}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#f55;box-shadow:0 0 10px #ff555580}.dot.yellow{background:#ffb86c;box-shadow:0 0 10px #ffb86c80}.dot.green{background:#50fa7b;box-shadow:0 0 10px #50fa7b80}.terminal-title{color:var(--terminal-green-dim);font-size:.85rem;font-family:Fira Code,monospace}.terminal-content{padding:1.5rem;background:var(--bg-terminal)}.terminal-line{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-family:Fira Code,monospace}.prompt{color:var(--terminal-green);font-weight:700}.command{color:var(--cyber-cyan)}.cursor-terminal{color:var(--terminal-green);animation:terminal-blink 1s infinite}.terminal-output{margin:1rem 0;font-family:Fira Code,monospace;font-size:.85rem;line-height:1.5;color:var(--terminal-green);background:#00ff4105;padding:1rem;border-left:2px solid var(--terminal-green);border-radius:var(--border-radius-sm);overflow-x:auto}.terminal-output code{color:var(--terminal-green)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--terminal-green-dim);opacity:.7;font-size:.8rem;z-index:3;font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px}.scroll-line{width:1px;height:30px;background:var(--terminal-green);animation:scroll 2s ease-in-out infinite;box-shadow:0 0 10px var(--terminal-green)}@keyframes scroll{0%,to{transform:translateY(0);opacity:.3}50%{transform:translateY(10px);opacity:1}}section{padding:6rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:3rem;font-weight:700;color:var(--terminal-green);margin-bottom:1rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 20px var(--terminal-green);position:relative}.section-title:before{content:">";margin-right:.5rem;color:var(--cyber-cyan)}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);font-family:Fira Code,monospace;opacity:.8}.about{background:var(--bg-secondary);position:relative;border-top:2px solid var(--border-color)}.about:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 4s linear infinite}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}.about-intro h3{font-size:2rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.about-intro p{font-size:1.1rem;line-height:1.7;color:var(--text-secondary);margin-bottom:2rem}.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.about-card{background:var(--bg-tertiary);padding:2rem;border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-md);transition:all var(--transition-butter);border:1px solid var(--border-color);position:relative;overflow:hidden}.about-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,65,.1),transparent);transition:left var(--transition-butter)}.about-card:hover:before{left:100%}.about-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-neon);border-color:var(--terminal-green)}.card-icon{font-size:2rem;margin-bottom:1rem;filter:drop-shadow(0 0 10px currentColor)}.about-card h4{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--terminal-green);font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px}.about-card p{color:var(--text-secondary);line-height:1.5;font-family:JetBrains Mono,monospace;font-size:.9rem}.about-stats{display:grid;grid-template-columns:1fr;gap:2rem}.stat-item{text-align:center;padding:2rem;background:var(--bg-tertiary);border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-md);border:1px solid var(--border-color);position:relative;overflow:hidden}.stat-item:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;background:radial-gradient(circle,rgba(0,255,65,.2),transparent);transition:all var(--transition-butter)}.stat-item:hover:before{width:200%;height:200%}.stat-number{font-size:2.5rem;font-weight:700;color:var(--terminal-green);margin-bottom:.5rem;font-family:JetBrains Mono,monospace;text-shadow:0 0 15px var(--terminal-green);position:relative;z-index:1}.stat-label{color:var(--text-secondary);font-weight:500;font-family:Fira Code,monospace;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;position:relative;z-index:1}.project-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;border:2px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--border-radius-terminal);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-butter);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;position:relative;overflow:hidden}.filter-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--terminal-green);transition:left var(--transition-butter);z-index:0}.filter-btn span{position:relative;z-index:1}.filter-btn.active,.filter-btn:hover{color:var(--bg-primary);border-color:var(--terminal-green);box-shadow:var(--shadow-neon)}.filter-btn.active:before,.filter-btn:hover:before{left:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.project-card{background:var(--bg-tertiary);border-radius:var(--border-radius-terminal);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-butter);border:1px solid var(--border-color);position:relative}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);opacity:0;transition:opacity var(--transition-butter)}.project-card:hover:before{opacity:1;animation:scanline 2s linear infinite}.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-neon);border-color:var(--terminal-green)}.project-image{height:200px;background:linear-gradient(135deg,var(--bg-terminal),var(--bg-tertiary));position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Fira Code,monospace;color:var(--terminal-green);font-size:2rem;text-transform:uppercase;letter-spacing:2px}.project-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,255,65,.03) 2px,rgba(0,255,65,.03) 4px);pointer-events:none}.project-overlay{position:absolute;top:1rem;left:1rem}.project-category{background:var(--bg-terminal);padding:.5rem 1rem;border-radius:var(--border-radius-terminal);font-size:.8rem;font-weight:600;color:var(--terminal-green);border:1px solid var(--border-color);font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px}.project-content{padding:2rem}.project-title{font-size:1.3rem;font-weight:600;margin-bottom:1rem;color:var(--terminal-green);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:1px;position:relative}.project-title:before{content:"$ ";color:var(--cyber-cyan)}.project-description{color:var(--text-secondary);line-height:1.5;margin-bottom:1.5rem;font-family:JetBrains Mono,monospace;font-size:.9rem}.project-tech{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.tech-tag{background:var(--bg-terminal);padding:.25rem .75rem;border-radius:var(--border-radius-terminal);font-size:.75rem;font-weight:500;color:var(--terminal-green-dim);border:1px solid var(--border-color);font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:.5px}.project-links{display:flex;gap:1rem}.project-link{color:var(--cyber-cyan);text-decoration:none;font-weight:500;transition:all var(--transition-butter);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;position:relative}.project-link:before{content:"[";color:var(--terminal-green-dim)}.project-link:after{content:"]";color:var(--terminal-green-dim)}.project-link:hover{color:var(--terminal-green);text-shadow:0 0 10px var(--terminal-green)}.skills{background:var(--bg-secondary);position:relative;border-top:2px solid var(--border-color)}.skills:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 5s linear infinite}.skills-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.skills-category h3{font-size:1.3rem;font-weight:600;margin-bottom:2rem;color:var(--terminal-green);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:2px;position:relative}.skills-category h3:before{content:"$ cat skills/";color:var(--cyber-cyan);margin-right:.5rem}.skills-grid{display:grid;gap:1.5rem}.skill-item{background:var(--bg-tertiary);padding:1.5rem;border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);position:relative;overflow:hidden}.skill-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,65,.05),transparent);transition:left var(--transition-butter)}.skill-item:hover:before{left:100%}.skill-item:hover{border-color:var(--terminal-green);box-shadow:var(--shadow-neon)}.skill-info{display:flex;justify-content:space-between;margin-bottom:.75rem;align-items:center}.skill-name{font-weight:500;color:var(--terminal-green);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.9rem;letter-spacing:1px}.skill-level{font-weight:600;color:var(--cyber-cyan);font-family:JetBrains Mono,monospace;font-size:.9rem}.skill-bar{height:6px;background:var(--bg-terminal);border-radius:2px;overflow:hidden;border:1px solid var(--border-color)}.skill-progress{height:100%;background:linear-gradient(90deg,var(--terminal-green),var(--cyber-cyan));border-radius:2px;transition:width 1.5s cubic-bezier(.25,.1,.25,1);width:0;box-shadow:0 0 10px var(--terminal-green)}.tech-stack{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tech-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-butter);position:relative;overflow:hidden}.tech-item:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;background:radial-gradient(circle,rgba(0,255,65,.1),transparent);transition:all var(--transition-butter)}.tech-item:hover:before{width:150%;height:150%}.tech-item:hover{transform:translateY(-2px);border-color:var(--terminal-green);box-shadow:var(--shadow-neon)}.tech-icon{font-size:1.5rem;filter:drop-shadow(0 0 5px currentColor)}.tech-name{font-weight:500;color:var(--terminal-green);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.85rem;letter-spacing:.5px}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info{display:grid;gap:2rem}.contact-item{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:var(--bg-tertiary);border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all var(--transition-butter);position:relative;overflow:hidden}.contact-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,65,.1),transparent);transition:left var(--transition-butter)}.contact-item:hover:before{left:100%}.contact-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-neon);border-color:var(--terminal-green)}.contact-icon{font-size:1.8rem;min-width:60px;text-align:center;filter:drop-shadow(0 0 10px currentColor)}.contact-details h4{font-size:1.1rem;font-weight:600;margin-bottom:.25rem;color:var(--terminal-green);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:1px}.contact-details p{color:var(--text-secondary);font-family:Fira Code,monospace;font-size:.9rem}.contact-form{background:var(--bg-tertiary);padding:2.5rem;border-radius:var(--border-radius-terminal);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);position:relative;overflow:hidden}.contact-form:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 3s linear infinite}.form-group{margin-bottom:1.5rem}.form-group input,.form-group textarea{width:100%;padding:1rem;border:2px solid var(--border-color);border-radius:var(--border-radius-terminal);font-size:1rem;transition:all var(--transition-butter);background:var(--bg-terminal);color:var(--terminal-green);font-family:Fira Code,monospace;letter-spacing:.5px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim);opacity:.7}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--terminal-green);box-shadow:0 0 20px #00ff4133;background:var(--bg-terminal)}.form-group textarea{resize:vertical;min-height:120px}.typing-indicator{position:fixed;bottom:20px;right:20px;background:var(--bg-terminal);border:1px solid var(--terminal-green);padding:8px 12px;border-radius:var(--border-radius-terminal);font-family:Fira Code,monospace;font-size:.8rem;color:var(--terminal-green);opacity:0;transition:opacity var(--transition-butter);z-index:1001;box-shadow:var(--shadow-neon)}.typing-indicator.active{opacity:1}.key-press{animation:keyPulse .2s ease-out}@keyframes keyPulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}to{transform:scale(1);opacity:1}}.live-terminal{background:var(--bg-secondary);padding:6rem 0;position:relative;border-top:2px solid var(--border-color)}.live-terminal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 4s linear infinite}.terminal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.mini-terminal{background:var(--bg-terminal);border:2px solid var(--border-color);border-radius:var(--border-radius-terminal);overflow:hidden;box-shadow:var(--shadow-md);transition:all var(--transition-butter);position:relative}.mini-terminal:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);opacity:0;transition:opacity var(--transition-butter)}.mini-terminal:hover:before{opacity:1;animation:scanline 2s linear infinite}.mini-terminal:hover{border-color:var(--terminal-green);box-shadow:var(--shadow-neon)}.mini-terminal-header{display:flex;align-items:center;padding:.75rem 1rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.mini-terminal .terminal-dots{display:flex;gap:.4rem;margin-right:1rem}.mini-terminal .dot{width:8px;height:8px;border-radius:50%}.mini-terminal .dot.red{background:#f55;box-shadow:0 0 5px #ff555580}.mini-terminal .dot.yellow{background:#ffb86c;box-shadow:0 0 5px #ffb86c80}.mini-terminal .dot.green{background:#50fa7b;box-shadow:0 0 5px #50fa7b80}.mini-terminal .terminal-title{color:var(--terminal-green-dim);font-size:.75rem;font-family:Fira Code,monospace;text-transform:uppercase;letter-spacing:1px}.mini-terminal-content{padding:1rem;font-family:Fira Code,monospace;font-size:.8rem;line-height:1.4;max-height:300px;overflow-y:auto;background:var(--bg-terminal)}.mini-terminal-content::-webkit-scrollbar{width:4px}.mini-terminal-content::-webkit-scrollbar-track{background:var(--bg-terminal)}.mini-terminal-content::-webkit-scrollbar-thumb{background:var(--terminal-green);border-radius:2px}.mini-terminal .terminal-line{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.mini-terminal .prompt{color:var(--terminal-green);font-weight:700}.mini-terminal .command{color:var(--cyber-cyan)}.mini-terminal .terminal-output{color:var(--terminal-green);opacity:.9}.mini-terminal .data-line{margin-bottom:.5rem;display:flex;justify-content:space-between;align-items:center}.mini-terminal .data-label{color:var(--text-dim);min-width:100px}.mini-terminal .data-value{color:var(--terminal-green);font-weight:500}.mini-terminal .data-value.positive{color:#50fa7b}.mini-terminal .data-value.negative{color:#f55}.mini-terminal .loading-dots{display:flex;gap:.2rem;color:var(--terminal-green-dim)}.mini-terminal .loading-dots span{animation:loadingPulse 1.4s ease-in-out infinite}.mini-terminal .loading-dots span:nth-child(1){animation-delay:0s}.mini-terminal .loading-dots span:nth-child(2){animation-delay:.2s}.mini-terminal .loading-dots span:nth-child(3){animation-delay:.4s}@keyframes loadingPulse{0%,80%,to{opacity:.3}40%{opacity:1}}.footer{background:var(--bg-dark);color:var(--text-secondary);padding:3rem 0;border-top:2px solid var(--border-color);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--terminal-green),transparent);animation:scanline 4s linear infinite}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--text-secondary);text-decoration:none;transition:all var(--transition-butter);font-family:Fira Code,monospace;text-transform:uppercase;font-size:.8rem;letter-spacing:1px;position:relative}.footer-links a:before{content:"[";color:var(--terminal-green-dim)}.footer-links a:after{content:"]";color:var(--terminal-green-dim)}.footer-links a:hover{color:var(--terminal-green);text-shadow:0 0 10px var(--terminal-green)}@media (max-width: 768px){.container,.nav-container{padding:0 1rem}.nav-menu{position:fixed;left:-100%;top:70px;flex-direction:column;background-color:#fff;width:100%;text-align:center;transition:.3s;box-shadow:var(--shadow-lg);padding:2rem 0}.nav-menu.active{left:0}.nav-toggle{display:flex}.hero-content{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-title{font-size:3rem}.hero-actions{justify-content:center;flex-wrap:wrap}.about-content{grid-template-columns:1fr;gap:2rem}.about-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(2,1fr)}.skills-content{grid-template-columns:1fr;gap:2rem}.tech-stack{grid-template-columns:1fr}.contact-content{grid-template-columns:1fr;gap:2rem}.footer-content{flex-direction:column;gap:1rem;text-align:center}.section-title{font-size:2rem}.projects-grid{grid-template-columns:1fr}}@media (max-width: 480px){.hero-title{font-size:2.5rem}.greeting{font-size:1.2rem}.hero-subtitle{flex-direction:column;gap:.5rem}.about-stats{grid-template-columns:1fr}.project-filters{justify-content:stretch}.filter-btn{flex:1;min-width:0}}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s ease}.fade-in.visible{opacity:1;transform:translateY(0)}.slide-in-left{opacity:0;transform:translate(-50px);transition:all .8s ease}.slide-in-left.visible{opacity:1;transform:translate(0)}.slide-in-right{opacity:0;transform:translate(50px);transition:all .8s ease}.slide-in-right.visible{opacity:1;transform:translate(0)}.loading{opacity:.6;pointer-events:none}.btn:focus,.nav-link:focus,input:focus,textarea:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media print{.navbar,.hero-visual,.contact-form,.scroll-indicator{display:none}.hero{min-height:auto;padding:2rem 0}body{font-size:12pt;line-height:1.4}}
