*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Courier New,monospace;line-height:1.5;font-weight:400;color-scheme:dark;color:#0f0;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:#0a0a0a}#root{width:100%;min-height:100vh}.terminal-container{width:90%;max-width:1000px;height:80vh;margin:2rem auto;background:#1e1e1e;border-radius:8px;box-shadow:0 20px 60px #00000080;overflow:hidden;font-family:Courier New,monospace;display:flex;flex-direction:column}.terminal-header{background:#323232;padding:.75rem 1rem;display:flex;align-items:center;gap:1rem;border-bottom:1px solid #444}.terminal-buttons{display:flex;gap:.5rem}.terminal-button{width:12px;height:12px;border-radius:50%;display:inline-block}.terminal-button.close{background:#ff5f56}.terminal-button.minimize{background:#ffbd2e}.terminal-button.maximize{background:#27c93f}.terminal-title{color:silver;font-size:.875rem;flex:1;text-align:center}.terminal-body{flex:1;padding:1.5rem;overflow-y:auto;background:#1e1e1e;color:#0f0;cursor:text}.terminal-body::-webkit-scrollbar{width:10px}.terminal-body::-webkit-scrollbar-track{background:#1e1e1e}.terminal-body::-webkit-scrollbar-thumb{background:#444;border-radius:5px}.terminal-body::-webkit-scrollbar-thumb:hover{background:#555}.terminal-line{margin-bottom:.5rem;line-height:1.5}.terminal-line pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:inherit}.terminal-line.input,.terminal-line.output{color:#0f0}.terminal-line.error{color:#ff6b6b}.terminal-input-line{display:flex;align-items:center;gap:.5rem}.terminal-prompt{color:#0f0;font-weight:700;-webkit-user-select:none;user-select:none}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#0f0;font-family:Courier New,monospace;font-size:1rem;caret-color:#0f0}.terminal-input::selection{background:#0f04}@media (max-width: 768px){.terminal-container{width:95%;height:90vh;margin:.5rem auto;border-radius:4px}.terminal-body{padding:1rem;font-size:.875rem}.terminal-header{padding:.5rem}.terminal-title{font-size:.75rem}.terminal-button{width:10px;height:10px}.terminal-input,.input-display{font-size:.875rem}.terminal-input-line{padding:.25rem 0}}@media (max-width: 480px){.terminal-container{width:100%;height:100vh;margin:0;border-radius:0}.terminal-body{padding:.75rem;font-size:.8rem}.terminal-header{padding:.4rem .5rem}.terminal-title{font-size:.7rem}.terminal-button{width:8px;height:8px}.terminal-input,.input-display{font-size:.8rem}.terminal-input,.input-display{font-size:16px}.terminal-line pre{font-size:.8rem}}@media (hover: none) and (pointer: coarse){.terminal-body{-webkit-overflow-scrolling:touch}.terminal-input,.input-display{font-size:16px}.terminal-input-line{min-height:44px;align-items:center}}.banner-container{width:100%;margin:1rem 0}.banner-content{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.profile-section{flex-shrink:0;display:flex;justify-content:center;align-items:center}.profile-image{width:180px;height:180px;border-radius:50%;border:3px solid #00ff00;box-shadow:0 0 20px #00ff004d,0 0 40px #00ff001a;object-fit:cover;transition:all .3s ease}.profile-image:hover{transform:scale(1.05);box-shadow:0 0 30px #00ff0080,0 0 60px #0f03}.ascii-section{flex:1;min-width:300px}.ascii-section pre{margin:0}.ascii-desktop{display:block;margin:0}.ascii-mobile{display:none;margin:0}@media (max-width: 768px){.banner-content{flex-direction:column;gap:1.5rem}.profile-image{width:150px;height:150px}.ascii-section{min-width:100%}.ascii-section pre{font-size:.6rem;overflow-x:auto}.ascii-desktop{display:none}.ascii-mobile{display:block;font-size:.55rem}}@media (max-width: 480px){.profile-image{width:120px;height:120px;border-width:2px}.banner-content{gap:1rem}.ascii-section pre{font-size:.45rem}.ascii-mobile{font-size:.5rem}}.typing-cursor{color:#0f0;font-weight:700}.input-wrapper{flex:1;position:relative}.input-wrapper .terminal-input{position:absolute;opacity:0;width:100%;height:100%;top:0;left:0}.input-display{color:#0f0;font-family:Courier New,monospace;font-size:1rem;white-space:pre}.blink-cursor{animation:cursorBlink 1s step-end infinite}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes terminalClose{0%{transform:scale(1);opacity:1}50%{transform:scaleY(.01);opacity:.8}to{transform:scale(0);opacity:0}}.terminal-container.closing{animation:terminalClose .5s ease-in forwards}.terminal-closed{display:flex;justify-content:center;align-items:center;height:80vh;color:#0f0;font-family:Courier New,monospace;font-size:1.2rem;text-align:center}::selection{background:#0f04;color:#0f0}::-moz-selection{background:#0f04;color:#0f0}.portfolio{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.portfolio-section{padding:4rem 0;border-bottom:1px solid #2a2a2a}.portfolio-section:last-of-type{border-bottom:none}.section-content{max-width:900px;margin:0 auto}.section-title{font-size:2rem;color:#0f0;margin-bottom:2rem;text-align:center;font-family:Courier New,monospace;text-transform:uppercase;letter-spacing:2px}.about-text{font-size:1.1rem;line-height:1.8;color:#e0e0e0;margin-bottom:1.5rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.quote{font-style:italic;color:#888;border-left:3px solid #00ff00;padding-left:1rem;margin-top:2rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.skill-category h3{color:#0f0;margin-bottom:1rem;font-size:1.2rem;font-family:Courier New,monospace}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background:#1a1a1a;border:1px solid #333;color:#e0e0e0;padding:.4rem .8rem;border-radius:4px;font-size:.9rem;font-family:Courier New,monospace;transition:all .2s ease}.skill-tag:hover{border-color:#0f0;color:#0f0}.education-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:2rem}.education-card h3{color:#0f0;font-size:1.5rem;margin-bottom:.5rem}.degree{color:#e0e0e0;font-size:1.1rem;margin-bottom:.3rem}.focus{color:#888;margin-bottom:1rem}.education-details{display:flex;gap:2rem;margin-bottom:1.5rem;color:#aaa}.coursework h4{color:#0f0;margin-bottom:.5rem;font-size:1rem}.coursework ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.coursework li{color:#e0e0e0;padding-left:1rem;position:relative}.coursework li:before{content:">";position:absolute;left:0;color:#0f0}.certifications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.cert-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:all .2s ease}.cert-card:hover{border-color:#0f0;transform:translateY(-2px)}.cert-card.completed{border-color:#0f0}.cert-icon{font-size:1.5rem}.cert-card.completed .cert-icon{color:#0f0}.cert-card.in-progress .cert-icon{color:#ffbd2e}.cert-name{color:#e0e0e0;font-weight:700;font-family:Courier New,monospace}.cert-status{font-size:.85rem;color:#888}.cert-card.completed .cert-status{color:#0f0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.project-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem;transition:all .2s ease}.project-card:hover{border-color:#0f0;transform:translateY(-2px)}.project-card h3{color:#0f0;margin-bottom:1rem;font-size:1.3rem}.project-description{color:#ccc;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.project-highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.highlight-tag{background:#00ff001a;border:1px solid rgba(0,255,0,.3);color:#0f0;padding:.25rem .6rem;border-radius:4px;font-size:.8rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem;border-top:1px solid #2a2a2a}.tech-tag{background:#252525;color:#aaa;padding:.25rem .6rem;border-radius:4px;font-size:.8rem;font-family:Courier New,monospace}.seeking-text{color:#e0e0e0;text-align:center;margin-bottom:1.5rem;font-size:1.1rem}.seeking-areas{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.seeking-tag{background:#1a1a1a;border:2px solid #00ff00;color:#0f0;padding:.8rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:700;transition:all .2s ease}.seeking-tag:hover{background:#0f0;color:#0a0a0a}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.contact-card{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-decoration:none;transition:all .2s ease}.contact-card:hover{border-color:#0f0;transform:translateY(-2px)}.contact-icon{font-size:1.5rem;color:#0f0;font-weight:700;font-family:Courier New,monospace}.contact-label{color:#888;font-size:.85rem;text-transform:uppercase;letter-spacing:1px}.contact-value{color:#e0e0e0;font-size:.9rem;word-break:break-all}.resume-button{display:inline-block;background:#0f0;color:#0a0a0a;padding:1rem 2rem;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease;margin:0 auto}.contact-section .section-content{text-align:center}.resume-button:hover{background:#0c0;transform:translateY(-2px);box-shadow:0 4px 12px #00ff004d}.portfolio-footer{text-align:center;padding:2rem;color:#666;font-size:.9rem;border-top:1px solid #2a2a2a}@media (max-width: 768px){.portfolio-section{padding:3rem 0}.section-title{font-size:1.5rem}.projects-grid{grid-template-columns:1fr}.education-details{flex-direction:column;gap:.5rem}.contact-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.portfolio{padding:0 .5rem}.portfolio-section{padding:2rem 0}.section-content{padding:0 .5rem}.contact-grid,.certifications-grid,.skills-grid{grid-template-columns:1fr}}.app{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center}.terminal-section{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center;padding:1rem}.portfolio-section-wrapper{width:100%;background:linear-gradient(180deg,#0a0a0a,#111,#0a0a0a)}.terminal-section:after{content:"";position:absolute;bottom:2rem;left:50%;transform:translate(-50%);width:30px;height:50px;border:2px solid rgba(0,255,0,.3);border-radius:20px;animation:scrollBounce 2s infinite}.terminal-section:before{content:"";position:absolute;bottom:2.8rem;left:50%;transform:translate(-50%);width:6px;height:6px;background:#0f0;border-radius:50%;animation:scrollDot 2s infinite}.terminal-section{position:relative}@keyframes scrollBounce{0%,to{opacity:.3}50%{opacity:.8}}@keyframes scrollDot{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}
