/* "Latest builds" feed. Same look as the old "Agents running" card. */
.lb-feed {
  margin-top: 2rem;
  background: var(--card-bg, #fff);
  border: 1px solid var(--border-soft, #dde5ec);
  border-radius: var(--radius-md, 16px);
  box-shadow: var(--shadow-soft, 0 14px 35px rgba(15,124,130,.10));
  padding: 1.35rem 1.5rem 1.5rem;
  max-width: 680px;
  width: 100%;
  box-sizing: border-box;
  contain: inline-size; /* long one-line rows must not widen the hero */
}
.lb-feed-head { display: flex; align-items: center; gap: .55rem; margin-bottom: .2rem; }
.lb-feed-dot { width: 9px; height: 9px; border-radius: 999px; background: #22c55e; animation: lbPulse 2s infinite; }
@keyframes lbPulse { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.45); } 70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }
.lb-feed-title { font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--accent, #0B6B70); }
.lb-feed-sub { font-size: .82rem; color: var(--text-muted, #55606B); margin: 0 0 1rem; }
.lb-feed-list {
  display: flex; flex-direction: column; min-height: 7.6rem;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; font-size: .82rem;
}
.lb-row {
  display: flex; align-items: baseline; gap: .75rem; padding: .55rem 0;
  border-top: 1px dashed var(--border-soft, #dde5ec); animation: lbRowIn .45s ease both;
  color: inherit; text-decoration: none;
}
.lb-row:first-child { border-top: none; }
a.lb-row:hover .lb-name { text-decoration: underline; text-underline-offset: 3px; }
@keyframes lbRowIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
.lb-date { color: var(--text-muted, #55606B); flex-shrink: 0; }
.lb-name { color: var(--accent, #0B6B70); font-weight: 600; flex-shrink: 0; }
.lb-task { color: var(--text-muted, #55606B); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lb-cursor { display: inline-block; width: 7px; color: var(--accent, #0B6B70); animation: lbBlink 1s steps(2, start) infinite; }
@keyframes lbBlink { 50% { opacity: 0; } }
@media (max-width: 600px) { .lb-feed-list { font-size: .74rem; } .lb-row { gap: .5rem; } }
@media (prefers-reduced-motion: reduce) { .lb-feed-dot, .lb-row, .lb-cursor { animation: none; } }
/* Reserve the feed's height before the JSON arrives, so nothing below jumps. */
[data-latest-builds] { min-height: 230px; }
@media (max-width: 600px) { [data-latest-builds] { min-height: 252px; } }
