/* Horizontal bar charts for metric arcs — e.g. the contrax build-history
   collapse in visions/java/contrax. Bar length encodes one metric (code LOC);
   .peak / .final flag the notable rows. */

.vsbars { margin: 0; padding: 0; list-style: none; font-family: inherit; }
.vsbars li { display: flex; align-items: center; gap: .6rem; margin: .3rem 0; font-size: .9rem; }
.vsbars .lbl { flex: 0 0 14rem; text-align: right; opacity: .85; }
.vsbars .track { flex: 1 1 auto; min-width: 4rem; background: rgba(127, 127, 127, .16); border-radius: 3px; }
.vsbars .bar { display: block; height: 1.3rem; background: #6c8ebf; border-radius: 3px; }
.vsbars .peak .bar { background: #c0392b; }
.vsbars .final .bar { background: #2e8b57; }
.vsbars .val { flex: 0 0 11rem; font-size: .82rem; opacity: .85; white-space: nowrap; }
.vsbars .peak .val,
.vsbars .final .val { opacity: 1; font-weight: bold; }
.vsbars-cap { font-size: .82rem; opacity: .65; margin-top: .5rem; }

/* Bar lengths = code LOC, normalized to the 261-LOC peak (row 4). */
.vsbars li:nth-child(1) .bar { width: 52%; }   /* first functional   — 137 */
.vsbars li:nth-child(2) .bar { width: 75%; }   /* + @PostCondition   — 197 */
.vsbars li:nth-child(3) .bar { width: 88%; }   /* generalized        — 229 */
.vsbars li:nth-child(4) .bar { width: 100%; }  /* PEAK "massage"     — 261 */
.vsbars li:nth-child(5) .bar { width: 86%; }   /* collapse           — 224 */
.vsbars li:nth-child(6) .bar { width: 67%; }   /* walkers → apt      — 175 */
.vsbars li:nth-child(7) .bar { width: 43%; }   /* final shape        — 111 */
.vsbars li:nth-child(8) .bar { width: 54%; }   /* release            — 142 */

@media (max-width: 640px) {
	.vsbars .lbl { flex-basis: 8rem; font-size: .76rem; }
	.vsbars .val { flex-basis: 8.5rem; font-size: .74rem; }
}
