:root { --fg:#111; --muted:#666; --bg:#fff; --line:#e5e7eb; --accent:#0ea5e9; }
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--fg);background:var(--bg)}
.container{max-width:1000px;margin:0 auto;padding:24px}
.site-header,.site-footer{border-bottom:1px solid var(--line)}
.site-footer{border-top:1px solid var(--line);border-bottom:none}
.brand{font-weight:700;text-decoration:none;color:var(--fg);margin-right:16px}
nav a{margin-right:12px;color:var(--muted);text-decoration:none}
h1,h2,h3{line-height:1.2}
.lead{font-size:1.1rem;color:var(--muted)}
.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{border:1px solid var(--line);border-radius:12px;padding:16px;background:#fff}
.card h2{margin:0 0 8px}
.meta span{font-size:.9rem;color:var(--muted);margin-right:8px}
.chip-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;border:1px solid var(--line);padding:6px 10px;border-radius:999px;text-decoration:none;color:var(--fg)}
.tools ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:8px 0 0}
.tools li a{text-decoration:none;color:var(--accent)}
/* Vertical timeline */
.timeline{position:relative;margin:28px 0;padding-left:28px}
.timeline:before{content:"";position:absolute;left:12px;top:0;bottom:0;width:2px;background:var(--line)}
.timeline-item{position:relative;margin:0 0 22px 0;display:flex}
.timeline-badge{
  position:absolute;left:-1px; width:26px;height:26px;border-radius:50%;
  background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:.9rem;border:2px solid #fff;box-shadow:0 0 0 2px var(--line)
}
.timeline-content{margin-left:18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;flex:1}
.timeline-app{font-size:.85rem;color:var(--muted);margin-bottom:6px}
.timeline-links a{color:var(--accent);text-decoration:none}
@media (max-width:560px){
  .timeline{padding-left:34px}
  .timeline-badge{left:2px}
}
