/*
 * Key-value list — label left, value right, hairline between rows.
 *
 *   <ul class="kv">
 *     <li class="kv__row"><span class="kv__k">Version</span><span class="kv__v">5.102.0</span></li>
 *   </ul>
 *
 * `.kvs / .kvs__row / .kvs__k / .kvs__v` are the pre-5.102 names and
 * stay as synonyms for one release. Values are mono only when they are
 * numbers/ids — add `.kv__v--num`; prose values wrap.
 */
.kv, .kvs { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.kv__row, .kvs__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--sp-3);
    padding: var(--sp-2) 0;
    border-bottom: 1px solid var(--color-border);
    min-width: 0;
}
.kv__row:first-child, .kvs__row:first-child { padding-top: 0; }
.kv__row:last-child,  .kvs__row:last-child  { border-bottom: 0; padding-bottom: 0; }
.kv__k, .kvs__k { color: var(--color-text-muted); font-size: var(--fs-sm); flex-shrink: 0; }
.kv__v, .kvs__v {
    color: var(--color-text);
    font-size: var(--fs-sm);
    text-align: right;
    min-width: 0;
    overflow-wrap: anywhere;
}
.kv__v--num, .kvs__v--num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
/* Stacked variant for long values (paths, prompts): label above value. */
.kv--stack .kv__row { flex-direction: column; align-items: stretch; gap: var(--sp-half); }
.kv--stack .kv__v   { text-align: left; }
