/* 06-components/log — the revision history as console scrollback. The shipped
   vocabulary has c-boot (one line) and c-ledger (a spec table) but no multi-row
   log list; a table can't carry the `git log` "scrollback" feel down at phone
   width, so this is a thin, purpose-built list instead. One revision per line:
   the ref (`r9`) is a first-class mono token and the link into the diff, then
   timestamp · editor · summary flow after it. Reads top-to-bottom like log
   output, newest first. Output to be read: it does not glow. */
.c-log {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--font-chrome);
  font-size: var(--text-sm);
}
.c-log__line {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 0.75ch;
  padding-block: 0.55rem;
  border-block-start: 1px solid var(--rule);
  line-height: 1.5;
}
.c-log__line:first-child { border-block-start: none; }

/* The ref token — the same `r9` that heads the diff and sits in the URL. Green,
   monospace, the click target into that revision's patch. */
.c-log__ref {
  color: var(--brand);
  text-decoration: none;
  font-weight: 600;
  flex: none;
}
.c-log__ref:hover,
.c-log__ref:focus-visible {
  text-shadow: var(--glow) color-mix(in srgb, var(--brand) 45%, transparent);
}

/* Timestamp + editor — the dim machine metadata between ref and summary. */
.c-log__meta {
  color: var(--ink-dim);
  flex: none;
}
.c-log__meta .c-log__editor { color: var(--ink); }

/* The one-line summary — the "commit message". Takes the remaining width and
   truncates on a single line so a long summary never breaks the log row; a nil
   summary renders its placeholder dim. */
.c-log__summary {
  flex: 1 1 16ch;
  min-width: 0;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-log__summary--empty { color: var(--ink-dim); font-style: italic; }

/* The [CURRENT] marker rides at the end of the newest line. */
.c-log__line .c-tag { flex: none; }

@media (max-width: 40rem) {
  /* On a phone the summary drops to its own full-width line beneath the ref/meta
     so nothing is clipped and the row still reads as one log entry. */
  .c-log__summary {
    flex-basis: 100%;
    white-space: normal;
  }
}
