*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#0d1117;--surface:#161b22;--border:#30363d;--text:#e6edf3;--text-muted:#8b949e;--accent:#58a6ff;--green:#3fb950;--yellow:#d29922;--red:#f85149}
body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
header{text-align:center;padding:3rem 1rem 2rem}
header h1{font-size:2rem;font-weight:700}
.tagline{color:var(--text-muted);margin-top:.5rem}
main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:0 1rem 3rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.5rem;transition:border-color .2s}
.card:hover{border-color:var(--accent)}
.card h2{font-size:1.125rem;margin-bottom:.5rem}
.card .desc{color:var(--text-muted);font-size:.875rem;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:12px;text-transform:uppercase}
.badge.completed{background:rgba(63,185,80,.15);color:var(--green)}
.badge.partial{background:rgba(210,153,34,.15);color:var(--yellow)}
.badge.failed{background:rgba(248,81,73,.15);color:var(--red)}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.tag{font-size:.75rem;background:rgba(88,166,255,.1);color:var(--accent);padding:2px 8px;border-radius:4px}
.meta{font-size:.75rem;color:var(--text-muted);margin-top:1rem;display:flex;flex-wrap:wrap;gap:1rem}
.links{display:flex;gap:1rem;margin-top:1rem}
.links a{font-size:.875rem;font-weight:500}
.empty{text-align:center;color:var(--text-muted);padding:4rem 1rem}
.empty p{font-size:1.125rem}
footer{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.875rem;border-top:1px solid var(--border)}
@media(max-width:640px){.grid{grid-template-columns:1fr}header{padding:2rem 1rem 1.5rem}header h1{font-size:1.5rem}}