body{margin:0}#root{width:100%;min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#0a0a0a;--surface:#111;--border:#1e1e1e;--crimson:#2563eb;--alpine:#2e7d4f;--white:#f0f0f0;--muted:#888;--font:"Inter", system-ui, sans-serif}body{background:var(--black);color:var(--white);font-family:var(--font);min-height:100vh}.app{z-index:1;min-height:100vh;position:relative}.hero{text-align:center;padding:3rem 2rem 2rem}.hero h1{letter-spacing:-1px;color:var(--white);font-size:3rem;font-weight:700}.hero .title{color:var(--crimson);text-transform:uppercase;letter-spacing:2px;margin-top:.4rem;font-size:1.1rem}.hero .location{color:var(--muted);margin-top:.25rem;font-size:.9rem}.links{justify-content:center;gap:1.5rem;margin-top:1rem;display:flex}.links a{color:var(--crimson);letter-spacing:.5px;font-size:.9rem;text-decoration:none;transition:color .2s}.links a:hover{color:var(--white)}.nav{justify-content:center;gap:.5rem;margin-top:2rem;display:flex}.nav-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:2px;padding:.5rem 1.5rem;font-size:.85rem;transition:all .2s}.nav-btn:hover{border-color:var(--crimson);color:var(--white)}.nav-btn.active{border-color:var(--crimson);color:var(--crimson);background:#dc143c0f}.content{z-index:1;max-width:900px;margin:0 auto;padding:3rem 2rem;position:relative}.section{flex-direction:column;gap:2.5rem;display:flex}.job{border-left:2px solid var(--border);padding-left:1.5rem;transition:border-color .2s}.job:hover{border-left-color:var(--crimson)}.job-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.job-title{color:var(--white);font-size:1.05rem;font-weight:600}.job-company{color:var(--crimson);margin-top:.2rem;font-size:.9rem}.job-dates{color:var(--muted);white-space:nowrap;font-size:.8rem}.job-bullets{flex-direction:column;gap:.4rem;list-style:none;display:flex}.job-bullets li{color:#ccc;padding-left:1rem;font-size:.9rem;line-height:1.6;position:relative}.job-bullets li:before{content:"›";color:var(--crimson);position:absolute;left:0}.skills-grid{flex-wrap:wrap;gap:.6rem;display:flex}.skill-tag{color:var(--muted);letter-spacing:.5px;border:1px solid #333;border-radius:2px;padding:.3rem .85rem;font-size:.8rem;transition:all .2s}.skill-tag:hover{border-color:var(--white);color:var(--white)}.certs-heading{text-transform:uppercase;letter-spacing:2px;color:var(--muted);border-bottom:1px solid var(--border);margin-top:1rem;padding-bottom:.5rem;font-size:.75rem}.certs{flex-direction:column;gap:1rem;margin-top:1rem;display:flex}.cert-name{color:var(--white);font-size:.95rem}.cert-meta{color:var(--muted);margin-top:.2rem;font-size:.8rem}.skill-category{flex-direction:column;gap:.5rem;display:flex}.skill-category-label{text-transform:uppercase;letter-spacing:2px;color:var(--crimson);margin-bottom:.25rem;font-size:.7rem}.loader{z-index:100;background:#0a0a0a;justify-content:center;align-items:center;transition:opacity .8s;display:flex;position:fixed;inset:0}.loader-fade{opacity:0;pointer-events:none}.loader-terminal{color:#2563eb;width:100%;max-width:500px;padding:2rem;font-family:Courier New,Courier,monospace;font-size:1rem}.loader-line{color:#2563eb;margin:.4rem 0}.loader-line.done{color:#aaa}.loader-line:last-child{color:#2563eb}.cursor{color:#2563eb;animation:.8s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}
