:root{
  --bg: #ffffff;
  --fg: #1b1f23;
  --muted:#5b6673;
  --line:#e3e7ee;
  --accent:#2f80ed;
  --chip:#eef3fb;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#0f1216; --fg:#e8eef6; --muted:#a7b0bd; --line:#263041; --accent:#6aa7ff; --chip:#152033;
  }
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, Helvetica, sans-serif; line-height:1.55;}
a{color:var(--accent); text-decoration:none;} a:hover{text-decoration:underline;}
.wrap{max-width: 1000px; margin: 0 auto; padding: 32px 20px 80px;}
header{display:grid; gap:10px; align-items:center; grid-template-columns: 1fr;}
.name{font-size: clamp(28px, 4vw, 40px); font-weight: 800; letter-spacing: -0.02em;}
.tag{color:var(--muted);}
.contact{display:flex; flex-wrap:wrap; gap:10px; margin-top:6px;}
.contact a, .contact span{background:var(--chip); border-radius:999px; padding:6px 10px; font-size:14px; color:var(--fg); border:1px solid var(--line);}    
nav{margin-top:14px;}
nav a{margin-right:14px; font-size:14px; color:var(--muted);} nav a:hover{color:var(--fg);}    

main{display:grid; grid-template-columns: 1.1fr 0.9fr; gap:28px; margin-top:28px;}
@media (max-width: 900px){ main{grid-template-columns: 1fr;} }

section{background:transparent; border:1px solid var(--line); border-radius:16px; padding:20px;}
section h2{margin:0 0 12px; font-size:20px;}
.muted{color:var(--muted);}    

/* Generic timeline */
.timeline{ position: relative; margin: 8px 0 0 6px; padding-left: 22px;}
.timeline::before{content:""; position:absolute; left:8px; top:0; bottom:0; width:2px; background:var(--line);}    
.entry{ position:relative; margin: 14px 0;}
.entry::before{content:""; position:absolute; left:-18px; top:8px; width:10px; height:10px; background:var(--bg); border:2px solid var(--accent); border-radius:50%;}
.entry h3{margin:0; font-size:16px;}
.entry .meta{display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:13px; margin:4px 0 8px;}
.entry p{margin:0;}
.chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.chip{background:var(--chip); border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:12px;}

/* Two-column skills list */
.skills{display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:10px;}
@media (max-width:700px){ .skills{grid-template-columns: 1fr;} }
.skills ul{margin:0; padding-left:16px;}

/* Projects grid */
.projects{display:grid; grid-template-columns: 1fr; gap:14px;}
.project{padding-bottom:10px; border-bottom:1px dashed var(--line);}    
.project:last-child{border-bottom:none;}
.project h3{margin:0; font-size:16px;}
.project .meta{display:flex; flex-wrap:wrap; gap:8px; color:var(--muted); font-size:13px; margin:4px 0 6px;}

footer{margin-top:32px; color:var(--muted); font-size:13px; text-align:center;}
