:root{--bg:#0b1020;--card:#12192b;--text:#e9eefc;--muted:#b0bbd5;--primary:#5ea1ff;--border:#26324f}
:root[data-theme="light"]{--bg:#f5f7fc;--card:#fff;--text:#10192d;--muted:#4d5b7c;--primary:#2f63ff;--border:#d9e1f5}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,sans-serif;background:radial-gradient(1200px 600px at 20% -10%,rgba(94,161,255,.22),transparent),var(--bg);color:var(--text);line-height:1.7;transition:.25s}
.container{width:min(1080px,92%);margin:0 auto}.nav-wrap{position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 85%,transparent);border-bottom:1px solid color-mix(in srgb,var(--text) 12%,transparent)}
.nav{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:12px}.logo{font-weight:800;color:var(--text);text-decoration:none}.links a{color:var(--muted);text-decoration:none;margin-left:16px}.links a:hover{color:var(--text)}
.toggle{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer}
.hero{padding:82px 0 48px}.eyebrow{color:var(--primary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}h1{font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.15;margin:8px 0 14px}h1 span{color:var(--primary)}.lead{max-width:760px;color:var(--muted)}
.btn{display:inline-block;background:linear-gradient(135deg,#5ea1ff,#7d76ff);color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:600}
.section{padding:30px 0}h2{margin:0 0 12px}.grid{display:grid;gap:14px}.projects{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.card a{color:var(--text);text-decoration:none}.card a:hover{color:var(--primary)}
.skill-bars{display:grid;gap:12px}.skill-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px}.skill-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.92rem;margin-bottom:8px}.bar{height:10px;background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;width:0;background:linear-gradient(135deg,#5ea1ff,#7d76ff);transition:width 1s ease}
.timeline{position:relative;margin-left:8px}.timeline:before{content:"";position:absolute;left:10px;top:8px;bottom:8px;width:2px;background:var(--border)}.timeline-item{position:relative;margin:0 0 14px 24px}.dot{position:absolute;left:-22px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--primary)}
.role-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.badge{font-size:.72rem;border:1px solid var(--border);border-radius:999px;padding:4px 10px;color:var(--muted)}.badge-lead{border-color:#4e67ac;color:#cdd9ff}
.time,.experience-summary{color:var(--muted)}.contact-links a{color:var(--primary)}.footer{padding:28px 0 40px;color:var(--muted);border-top:1px solid color-mix(in srgb,var(--text) 10%,transparent);margin-top:16px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}.reveal.in-view{opacity:1;transform:translateY(0)}
@media (max-width:760px){.links{display:none}.hero{padding-top:56px}.projects{grid-template-columns:1fr}h1{font-size:clamp(1.6rem,8vw,2.2rem)}}