@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Inter:wght@400;500;600&display=swap";:root{--bg:#0a0a0a;--surface:#141414;--card:#1a1a1a;--border:#2a2a2a;--red:#c0392b;--red-hover:#e74c3c;--text:#f0f0f0;--text-muted:#888;--text-dim:#555;--mono:"Share Tech Mono", monospace;--sans:"Inter", sans-serif;--max-w:900px;--radius:6px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:var(--sans);background-image:linear-gradient(90deg,#0000 79px,#c0392b1f 79px 81px,#0000 81px),linear-gradient(0deg,#0000 79px,#c0392b1f 79px 81px,#0000 81px),linear-gradient(90deg,#0000 39px,#ffffff0a 39px 41px,#0000 41px),linear-gradient(0deg,#0000 39px,#ffffff0a 39px 41px,#0000 41px);background-size:80px 80px,80px 80px,40px 40px,40px 40px;min-height:100vh;font-size:16px;line-height:1.7}a{color:var(--red);text-decoration:none}a:hover{color:var(--red-hover)}h1,h2,h3,h4{font-weight:600;line-height:1.25}h1{font-size:2.5rem}h2{font-size:1.5rem}h3{font-size:1.1rem}p{color:var(--text-muted)}ul{list-style:none}nav{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:100;align-items:center;gap:2rem;height:56px;padding:0 2rem;display:flex;position:sticky;top:0}nav a{font-family:var(--mono);color:var(--text-muted);letter-spacing:.05em;border-bottom:2px solid #0000;padding:4px 0;font-size:.85rem;transition:color .15s,border-color .15s}nav a:hover,nav a.active{color:var(--text);border-bottom-color:var(--red)}nav>*{color:var(--border)}nav a{color:var(--text-muted)}.page{max-width:var(--max-w);margin:0 auto;padding:4rem 2rem}.fade-in{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(20px)}.fade-in.visible{opacity:1;transform:translateY(0)}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,to{border-color:var(--red)}50%{border-color:#0000}}.typing{white-space:nowrap;border-right:3px solid var(--red);width:0;animation:1.8s steps(30,end) .3s forwards typing,.75s step-end infinite blink;display:inline-block;overflow:hidden}@keyframes pulse-red{0%,to{border-left-color:var(--red)}50%{border-left-color:var(--red-hover)}}.highlight-card,.skills-section h2,.education-section h2,.resume-section h2{animation:3s ease-in-out infinite pulse-red}@media (width<=680px){.typing{white-space:normal;border-right:none;animation:none;width:100%!important}.hero h1{font-size:2rem}nav{flex-wrap:wrap;gap:1rem;height:auto;padding:.75rem 1rem}nav a{font-size:.75rem}.tech-tags{gap:6px}.tech-tag{padding:2px 6px;font-size:.7rem}.project-card{padding:1rem}.skills-inline div{word-break:break-word}}.btn{font-family:var(--mono);letter-spacing:.05em;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:.6rem 1.4rem;font-size:.85rem;transition:background .15s,color .15s,border-color .15s;display:inline-block}.btn-primary{background-color:var(--red);color:#fff;border-color:var(--red)}.btn-primary:hover{background-color:var(--red-hover);border-color:var(--red-hover);color:#fff}.btn-secondary{color:var(--text-muted);border-color:var(--border);background-color:#0000}.btn-secondary:hover{border-color:var(--red);color:var(--text)}.tech-tag{font-family:var(--mono);color:var(--red);background-color:#c0392b1a;border:1px solid #c0392b40;border-radius:3px;padding:2px 8px;font-size:.75rem;display:inline-block}.hero{border-bottom:1px solid var(--border);margin-bottom:3rem;padding:4rem 0 3rem}.hero-eyebrow{font-family:var(--mono);color:var(--red);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;font-size:.8rem}.hero h1{font-family:var(--mono);color:var(--text);margin-bottom:1.25rem;font-size:3.5rem}.hero-tagline{color:var(--text-muted);max-width:560px;margin-bottom:2rem;font-size:1.1rem}.hero-cta{flex-wrap:wrap;gap:1rem;display:flex}.tech-strip{margin-bottom:3rem}.strip-label{font-family:var(--mono);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-size:.75rem}.tech-tags{flex-wrap:wrap;gap:8px;display:flex}.highlights{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.highlight-card{background-color:var(--card);border:1px solid var(--border);border-left:3px solid var(--red);border-radius:var(--radius);padding:1.5rem}.highlight-icon{margin-bottom:.75rem;font-size:1.5rem;display:block}.highlight-card h3{color:var(--text);margin-bottom:.4rem}.highlight-card p{font-size:.9rem}.about-bio{border-bottom:1px solid var(--border);grid-template-columns:1fr 200px;align-items:start;gap:3rem;margin-bottom:3rem;padding-bottom:3rem;display:grid}.bio-text h1{color:var(--text);margin-bottom:1.25rem}.bio-text p{margin-bottom:1rem}.bio-photo-placeholder{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:200px;height:200px;color:var(--text-dim);font-size:.85rem;font-family:var(--mono);justify-content:center;align-items:center;display:flex}.skills-section{border-bottom:1px solid var(--border);margin-bottom:3rem;padding-bottom:3rem}.skills-section h2{color:var(--text);border-left:3px solid var(--red);margin-bottom:1.5rem;padding-left:.75rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.skill-group h3{font-family:var(--mono);color:var(--red);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem;font-size:.8rem}.skill-group ul{flex-direction:column;gap:4px;display:flex}.skill-group li{color:var(--text-muted);padding-left:.75rem;font-size:.9rem;position:relative}.skill-group li:before{content:"—";color:var(--text-dim);font-size:.75rem;position:absolute;left:0}.education-section h2{color:var(--text);border-left:3px solid var(--red);margin-bottom:1.5rem;padding-left:.75rem}.edu-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.edu-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.edu-header h3{color:var(--text)}.edu-sub{margin-top:2px;font-size:.9rem}.edu-year{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;font-size:.8rem}.edu-major{color:var(--red);font-size:.9rem;font-family:var(--mono);margin-bottom:1rem}.edu-card h4{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem;font-size:.8rem}.unit-list{flex-direction:column;gap:8px;display:flex}.unit-list li{grid-template-columns:80px 1fr;align-items:baseline;gap:0 1rem;font-size:.875rem;display:grid}.unit-code{font-family:var(--mono);color:var(--red);font-size:.8rem}.unit-name{color:var(--text);font-weight:500}.unit-desc{color:var(--text-muted);grid-column:2;font-size:.825rem}.resume-header{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.resume-header h1{color:var(--text)}.resume-section{border-bottom:1px solid var(--border);margin-bottom:2.5rem;padding-bottom:2.5rem}.resume-section:last-child{border-bottom:none}.resume-section h2{color:var(--text);border-left:3px solid var(--red);margin-bottom:1.25rem;padding-left:.75rem}.section-note{margin-bottom:1.25rem;font-size:.85rem;font-style:italic}.resume-entry{padding:1rem 0}.entry-header{justify-content:space-between;align-items:flex-start;display:flex}.entry-header h3{color:var(--text);margin-bottom:2px}.entry-header p{font-size:.9rem}.entry-date{font-family:var(--mono);color:var(--text-dim);white-space:nowrap;font-size:.8rem}.project-list{flex-direction:column;gap:1rem;display:flex}.project-card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;transition:border-color .15s}.project-card:hover{border-color:var(--red)}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;display:flex}.project-header h3{color:var(--text);margin-bottom:2px}.project-meta{font-family:var(--mono);color:var(--text-dim);font-size:.78rem}.project-card p{margin-bottom:.75rem;font-size:.9rem}.github-link{font-family:var(--mono);color:var(--red);white-space:nowrap;font-size:.78rem}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.cert-list{flex-direction:column;gap:10px;display:flex}.cert-list li{align-items:center;gap:1rem;font-size:.9rem;display:flex}.cert-name{color:var(--text);flex:1}.cert-status{font-family:var(--mono);border-radius:3px;padding:2px 8px;font-size:.75rem}.status-done{color:#2ecc71;background-color:#27ae6026;border:1px solid #27ae604d}.status-progress{color:var(--red-hover);background-color:#c0392b1a;border:1px solid #c0392b40}.cert-year{font-family:var(--mono);color:var(--text-dim);font-size:.8rem}.skills-inline{flex-direction:column;gap:8px;font-size:.9rem;display:flex}.skills-inline strong{color:var(--text)}.skills-inline div{color:var(--text-muted)}.contact-page h1{color:var(--text);margin-bottom:.75rem}.contact-intro{max-width:560px;margin-bottom:3rem}.contact-layout{grid-template-columns:1fr 280px;align-items:start;gap:3rem;display:grid}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{font-family:var(--mono);color:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.form-group input,.form-group textarea{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--sans);resize:vertical;outline:none;padding:.6rem .9rem;font-size:.95rem;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{border-color:var(--red)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim)}.form-success{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid #2ecc71;padding:1.5rem}.form-success h3{color:var(--text);margin-bottom:.5rem}.contact-details{flex-direction:column;gap:1.25rem;padding-top:.25rem;display:flex}.contact-item{flex-direction:column;gap:3px;display:flex}.contact-label{font-family:var(--mono);color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.contact-item a,.contact-item span:not(.contact-label){color:var(--text-muted);font-size:.9rem}.contact-item a:hover{color:var(--red-hover)}@media (width<=680px){.hero h1{font-size:2.25rem}.about-bio{grid-template-columns:1fr}.bio-photo-placeholder{width:100%;height:160px}.contact-layout{grid-template-columns:1fr}.edu-header,.entry-header{flex-direction:column;gap:4px}.resume-header{flex-direction:column;align-items:flex-start;gap:1rem}.unit-list li{grid-template-columns:1fr}.unit-desc{grid-column:1}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
