/* Sweeps and digests (docs/sweeps_and_digests_contract.md): the sweep log, a sweep's window, and its digest. The staleness marker is shared with the Comments page cards (engine styles carry their own copy). */
.sweep-since { padding: 16px 20px; margin: 0 0 24px; display: grid; gap: 6px; }
.sweep-since h2 { margin: 0; font-size: 1.05rem; }
.sweep-since p { margin: 0; }
.sweep-window__span { margin: 0; color: var(--ink-2); font-size: .9rem; }
.sweep-window__counts { list-style: none; margin: 4px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .9rem; color: var(--ink-2); }
.sweep-window__counts strong { color: var(--ink-strong); }
.sweep-window { display: grid; gap: 14px; margin: 24px 0 0; }
.sweep-window > h2 { margin: 0; }
.sweep-section { display: grid; gap: 8px; }
.sweep-section h3 { margin: 8px 0 0; }
.sweep-section > p { margin: 0; }
.sweep-kind h4 { margin: 10px 0 6px; font-size: .95rem; }
.sweep-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sweep-item { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding: 6px 0 6px 10px; border-left: 3px solid var(--rule); overflow-wrap: anywhere; }
.sweep-item.change-set--ai { border-left-color: var(--accent); }
.sweep-item .chip { font-size: .66rem; padding: 1px 7px; }
.sweep-item__status--open { color: var(--amber); }
.sweep-item__status--addressed { color: var(--good); }
.sweep-item__title { color: var(--ink); }
.stale-marker { font-size: .78rem; color: var(--amber); }
.stale-marker a { color: inherit; }
.sweep-log { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sweep-log__item { padding: 14px 18px; display: grid; gap: 4px; }
.sweep-log__item p { margin: 0; }
.sweep-log__head { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.sweep-log__title { font-weight: 600; }
.sweep-log__digest { font-weight: 500; }
.sweep-log__note, .sweep-facts__note { white-space: pre-line; }
.sweep-facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0 0 20px; }
.sweep-facts dt { color: var(--ink-3); font-size: .86rem; }
.sweep-facts dd { margin: 0; overflow-wrap: anywhere; }
.sweep-digest { padding: 16px 20px; display: grid; gap: 8px; }
.sweep-digest__head { display: flex; flex-wrap: wrap; gap: 10px; align-items: baseline; }
.sweep-digest__head h2 { margin: 0; }
.sweep-digest__label { margin: 0; color: var(--ink-2); font-size: .88rem; }
.sweep-digest__publish { margin: 4px 0 0; }
@media (max-width: 560px) {
  .sweep-facts { grid-template-columns: 1fr; }
}
