/* ---------- Watch runs: every run's live screen side by side (watch-runs.js) ---------- */
.watch-panel { min-width: 0; }
.watch-status { margin: 0 0 12px; font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.watch-status:empty { display: none; }
.watch-empty { margin: 0; padding: 18px; font-size: 13px; color: var(--muted); background: var(--surface-muted); border: 1px dashed var(--border-strong); border-radius: var(--radius-lg, 12px); }
/* Two to four tiles to a row, by the page's width and how many runs there are; one on a phone. */
.watch-grid { --watch-columns: 2; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(max(260px, calc((100% - (var(--watch-columns) - 1) * 16px) / var(--watch-columns))), 1fr)); }
.watch-tile { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg, 12px); box-shadow: var(--shadow-xs); }
.watch-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.watch-name { min-width: 0; font-size: 13.5px; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-head .badge { flex: none; }
.watch-step { margin: 0; font-size: 12px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.watch-screen { position: relative; display: grid; place-items: center; aspect-ratio: 16 / 10; min-height: 0; background: var(--surface-sunken); border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.watch-img { width: 100%; height: 100%; object-fit: contain; background: var(--surface); }
.watch-img[hidden] { display: none; }
.watch-note { padding: 12px 16px; font-size: 12px; line-height: 1.5; color: var(--muted); text-align: center; }
.watch-note[hidden] { display: none; }
.watch-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 10px; min-width: 0; }
.watch-who { min-width: 0; font-size: 12px; color: var(--muted); overflow-wrap: anywhere; }
.watch-actions { display: flex; flex-wrap: wrap; gap: 6px; }
/* Links that do what buttons do look like the buttons beside them. */
.watch-actions a.btn, .watch-panel .page-actions a.btn { color: var(--ink); text-decoration: none; }
.watch-window { min-width: 32px; justify-content: center; }
.watch-finished .watch-screen { opacity: .8; }
@media (max-width: 760px) {
  .watch-grid { grid-template-columns: minmax(0, 1fr); }
}
