/* La riga del feed — una definizione sola per tutta la piattaforma.
 *
 * Nasce in home.html, dove il feed la usa per post, fonti, contestazioni,
 * brief e nodi dei grafi. Poi e' stata copiata a mano in source-archive.html,
 * bibliotheca.html e visitor.html, e briefs/chamber/strand si erano scritte
 * ciascuna una propria scheda diversa (.brfr-row, .edu-card, .brief-card):
 * cinque rese dello stesso oggetto, che e' esattamente il modo in cui una
 * scheda smette di essere riconoscibile. Estratta qui il 4/9/2026 con Dorian.
 *
 * Le pagine che la linkano possono ancora sovrascrivere qualcosa nel proprio
 * <style> inline, che viene dopo: source-archive e bibliotheca lo fanno per
 * il gutter della riga (24px invece di 4). Va bene finche' resta una
 * differenza dichiarata e non una divergenza dimenticata.
 */

.feed-row {
  padding: 12px 4px; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: background .15s; position: relative; z-index: 1;
  /* Nessun tetto alla larghezza: la riga riempie la colonna, come quelle di
     Entities. Dal 4 al 29/9/2026 ne aveva uno di 1000px, e sui monitor larghi
     home, Briefs e Chambers restavano piene per due terzi con una fascia vuota
     a destra (Dorian, 29/9/2026). Una pagina che vuole una misura di lettura
     la da' alla propria colonna, centrata, come fa Pulse. */
}
.feed-row:hover { background: rgba(255,255,255,.035); }
.feed-row:last-child { border-bottom: none; }
.fr-l1 { display: flex; align-items: flex-start; gap: 10px; }
.fr-code {
  font-family: 'Cinzel', serif; font-size: 11px; letter-spacing: .06em;
  min-width: 66px; flex-shrink: 0; padding-top: 3px;
}
.fr-title {
  font-size: 14px; color: var(--text); flex: 1; min-width: 0; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.fr-r1 {
  display: flex; align-items: baseline; flex-shrink: 0; padding-top: 3px;
  font-size: 11px; color: var(--text-dim); white-space: nowrap; margin-left: 8px;
}
.fr-dot { color: var(--border); margin: 0 6px; }
.fr-desc {
  padding-left: 76px; margin-top: 4px; font-size: 13px; color: var(--text-dim); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.fr-footer { display: flex; align-items: baseline; gap: 14px; padding-left: 76px; margin-top: 6px; }
.fr-badges { display: flex; align-items: baseline; flex-wrap: wrap; font-size: 11.5px; }
.fr-stats {
  margin-left: auto; flex-shrink: 0; font-size: 11.5px; color: var(--text-dim); white-space: nowrap;
}
@media (max-width: 580px) {
  .fr-desc, .fr-footer { padding-left: 0; }
  .fr-r1 { display: none; }
}
