/* AdEQ — Results (Emotions That Won) and Meta on the workspace page.
   SPEC-DATA-V1 §8. Tokens and l- pieces only; no raw px. The emotion name is
   the only thing in a Plutchik colour, through the existing .wc-emotion. */

.rs-page { display: flex; flex-direction: column; gap: var(--gap-section); min-width: 0; }
.rs-tables, .rs-ads { display: flex; flex-direction: column; gap: var(--gap-card); min-width: 0; }
.rs-card { min-width: 0; }

.rs-select { width: auto; height: var(--h-md); margin: 0; }

.rs-fresh { margin: 0; color: var(--mute); font: var(--t-label); }
/* An empty bar or line takes no row: each is a gap of the page's 32 before
   the empty state, which sat 130px under the tabs with nothing above it. */
.rs-page > .l-bar:empty, .rs-page > .rs-fresh:empty { display: none; }
.rs-page > .rs-tables > .l-empty:first-child { padding-top: 0; }
.rs-fresh.is-stale { color: var(--ink); }
.rs-said { margin: 0 0 var(--s-1); font: var(--t-label); color: var(--ink); }

.rs-emo { display: inline-flex; align-items: center; gap: var(--gap-inline); }
.rs-emo-cell { display: inline-flex; flex-direction: column; align-items: flex-start; gap: var(--s-half); }
.rs-intended, .rs-thin, .rs-none, .rs-ad-m { color: var(--mute); font: var(--t-label); }
.is-thin { opacity: .55; }

.rs-unmatched { align-self: flex-start; }

.rs-ad { display: flex; align-items: center; gap: var(--gap-inline); min-width: 0; }
.rs-ad-t, .rs-row-t { display: flex; flex-direction: column; min-width: 0; }
.rs-ad-t > *, .rs-row-t > * { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-thumb {
  flex: none; width: var(--h-md); height: var(--h-md);
  object-fit: cover; border-radius: var(--r-sm); background: var(--shade);
}
.rs-thumb.is-none { display: inline-block; }

.rs-h3 { font: var(--t-section); letter-spacing: var(--tr-section); color: var(--ink); margin: var(--s-3) 0 var(--s-1); }
.rs-row { min-width: 0; }
.rs-acts { display: inline-flex; gap: var(--gap-inline); flex: none; }

.rs-pick { max-height: calc(var(--s-12) * 3); overflow-y: auto; }
.rs-pick > button {
  width: 100%; border: 0; background: none; color: var(--ink);
  font: inherit; text-align: left; cursor: pointer;
}
.rs-pick > button:hover { background: var(--shade); }
.rs-search { width: 100%; margin: 0 0 var(--s-1); }

.rs-conns { margin-top: var(--s-1); }
.rs-err { color: var(--ink); }
.rs-ok { color: var(--mute); }

/* ── Voices (SPEC-DATA §8.4) ─────────────────────────────────────────────── */
.vc-none { color: var(--mute); font: var(--t-label); }
.vc-play { min-width: calc(var(--h-md) * 2); justify-content: center; }
.vc-form { display: flex; flex-direction: column; gap: var(--gap-field); }
.vc-form .l-field + .l-field { margin-top: 0; }
.vc-sample { display: flex; align-items: center; gap: var(--gap-inline); }
.vc-go { display: flex; justify-content: flex-end; }
.vc-use { display: flex; flex-direction: column; min-width: 0; }
.vc-file { width: 100%; }

/* ── The work panel's Voice and Meta rows (SPEC-DATA §6.3) ─────────────────── */
.wd-rows { display: flex; flex-direction: column; gap: var(--s-1); min-width: 0; }
.wd-rows:empty, .wd-row:empty { display: none; }
.wd-row { display: flex; align-items: baseline; gap: var(--gap-inline); min-width: 0; }
.wd-label { flex: none; min-width: calc(var(--h-md) * 2); }
.wd-body { display: flex; align-items: center; flex-wrap: wrap; gap: var(--gap-inline); min-width: 0; }
.wd-voice { display: inline-flex; align-items: center; gap: var(--s-half); }
.wd-x { border: 0; background: none; color: var(--mute); cursor: pointer; padding: 0; font: inherit; }
.wd-select { width: auto; height: var(--h-md); margin: 0; }
.wd-text, .wd-quiet { color: var(--mute); font: var(--t-label); }
.wd-name { font: var(--t-label); color: var(--ink); overflow-wrap: anywhere; min-width: 0; }

/* THE VOICE CARD (Franz, 2026-10-19: "we need a voice card in the right column
   properly"). Its cards sit straight in the rail's own column and spacing. */
.wd-cards { display: contents; }
.wd-voice-body { display: grid; gap: var(--s-1); min-width: 0; }
.wd-voice-row {
  display: flex; align-items: center; gap: var(--s-1); min-width: 0;
  padding: var(--s-1); border-radius: var(--r-md); border: var(--s-px) solid var(--rule-faint); background: var(--shade);
}
.wd-voice-dot { flex: none; width: var(--s-1); height: var(--s-1); border-radius: var(--r-pill); background: var(--accent); }
.wd-voice-what { flex: 1; min-width: 0; display: grid; gap: var(--s-nudge); }
.wd-voice-name { font: 600 13.5px/1.3 var(--font-body); color: var(--ink); overflow-wrap: anywhere; }
.wd-voice-meta { font: var(--t-label); color: var(--mute); }
.wd-voice-row .wd-x { flex: none; width: var(--h-sm); height: var(--h-sm); display: grid; place-items: center; font-size: 16px; }
.wd-voice-row .wd-x:hover { color: var(--ink); }
.wd-voice-pick { width: 100%; }
.wd-voice-add { justify-self: start; margin-left: 0; }
.wd-cards > .rail-card, .wd-cards > .rail-card:last-child { margin-bottom: var(--s-1h); }
