:root{--blue:#45a3ff;--blue-dark:#245b92;--bg:#060914;--text:#eef6ff;--muted:#9fb3c8;--glow:0 0 10px rgba(69,163,255,.8),0 0 28px rgba(36,117,255,.45)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{min-height:100vh;background:var(--bg);background-image:radial-gradient(circle at 80% 10%,rgba(26,91,180,.16),transparent 32%);color:var(--text);font-family:'JetBrains Mono','Noto Sans SC',monospace;line-height:1.7;overflow-x:hidden}
#particles{position:fixed;inset:0;width:100%;height:100%;z-index:-1;opacity:.45}
#cursor-glow{position:fixed;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(69,163,255,.15),transparent 70%);pointer-events:none;transform:translate(-50%,-50%);z-index:0}
main{position:relative;z-index:1;max-width:920px;margin:auto;padding:4rem 2rem}
.hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;margin-bottom:6rem}
.terminal-prompt{margin-bottom:1rem;color:var(--muted);font-size:1.15rem}.prompt-symbol{color:var(--blue);margin-right:.5rem}
.name{color:var(--blue);font-size:clamp(3rem,9vw,6.3rem);font-weight:700;letter-spacing:-.06em;line-height:1.08;text-shadow:var(--glow);animation:rise .8s ease-out}
.tagline{margin:1.25rem 0 2.5rem;color:var(--muted);font-size:clamp(1.15rem,3vw,1.55rem);font-weight:300;animation:rise .8s .15s backwards}
.links{display:flex;flex-wrap:wrap;gap:1.8rem;animation:rise .8s .3s backwards}.links a{color:var(--text);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:.2rem;transition:.25s}.links a:hover,.links a:focus-visible{color:var(--blue);border-color:var(--blue)}
section{margin-bottom:5.5rem;animation:rise 1s ease-out}h2{margin-bottom:2rem;color:var(--blue);font-size:2rem;font-weight:500}h2::before{content:'// ';color:var(--blue-dark)}
p{margin-bottom:1.35rem;color:var(--muted);font-size:1.08rem}.lead{color:var(--text);font-size:1.45rem;font-weight:500}
.job{padding-left:1.5rem;border-left:2px solid var(--blue-dark);transition:.25s}.job:hover{border-color:var(--blue)}.job-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.job h3,.project h3{font-size:1.3rem;font-weight:500}.date{color:var(--blue-dark);font-size:.9rem}.company{color:var(--blue);font-weight:500}
.project{padding:1.6rem;background:rgba(69,163,255,.045);border:1px solid rgba(69,163,255,.16);border-radius:8px;transition:.25s}.project:hover{transform:translateX(5px);background:rgba(69,163,255,.08);border-color:rgba(69,163,255,.4)}.project-index{margin-bottom:.75rem;color:var(--blue-dark);font-size:.75rem;letter-spacing:.16em}.project h3{display:flex;align-items:center;gap:.6rem;margin-bottom:.8rem}.folder-icon{color:var(--blue)}
.tech-stack,.interest-grid{display:flex;flex-wrap:wrap;gap:.8rem}.tech-stack span,.interest-grid span{padding:.4rem .8rem;color:var(--blue);background:rgba(69,163,255,.09);border:1px solid rgba(69,163,255,.22);border-radius:4px;font-size:.86rem}.interest-grid span{padding:.65rem 1rem;color:var(--text);font-size:1rem}
footer{margin-top:8rem;padding:2rem 0;text-align:center;border-top:1px solid rgba(69,163,255,.14)}.footer-note{font-size:.92rem}.cursor-blink{color:var(--blue);animation:blink 1s infinite}
@keyframes blink{0%,50%{opacity:1}51%,100%{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@media(max-width:768px){main{padding:2rem 1.4rem}.hero{min-height:65vh}.name{font-size:3.4rem}.links{gap:1.2rem}.job-header{flex-direction:column;gap:.3rem}h2{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}#cursor-glow,#particles{display:none}}
