/* Tracker wave 4: lifecycle. */
/* State on the card face: done and superseded are struck; superseded is drained
   of colour but keeps its pointer readable; answered keeps its weight. */
.card.done h3,.card.retired h3{text-decoration:line-through;text-decoration-thickness:1px}
.card.retired h3,.card.retired .card-source{color:var(--muted);opacity:.7}
.card.answered h3{font-weight:650}
.state-chip{font:12px var(--mono);letter-spacing:.04em;padding:2px 6px;border-radius:4px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.state-chip.conflict{color:var(--red);border-color:var(--red)}
.state-chip.answered{color:var(--orange);border-color:var(--orange)}
.card-head:has(.state-chip){display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.card-rel{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 10px;font-size:12px;color:var(--muted)}
.card-rel .rel a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.card-rel .rel.answered a{color:var(--orange)}
.card-rel .rel-missing{font-family:var(--mono)}
.vs{font:12px var(--mono);color:var(--muted);padding:0 2px}
.conflict-cue{font:12px var(--mono);color:var(--red);margin:0 0 10px}
.rel-line{margin:6px 0;font-size:13px}
/* #23: how the meeting was captured -- a quiet dot before the source line. */
.cap-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--muted)}
.cap-dot.cap-live{background:var(--orange)}
.cap-dot.cap-store{background:transparent;border:1.5px solid var(--muted);box-sizing:border-box}
.cap-dot.cap-none{background:transparent;border:1.5px dashed var(--muted);box-sizing:border-box}
/* the open card was replaced or merged into another. */
.reader-replaced{margin:10px 16px 0;padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:6px;background:var(--surface);font-size:13px}
.reader-replaced button{margin-left:6px}
