/* section-data.css, Model-tab ยง3 (Data) widget styles. The corpus-composition widget is a stack of horizontal bars (replacing the old donut + side legend); each row shows one source with its label, percentage, and a one-line description below. */ .d9-bars { display: flex; flex-direction: column; gap: 14px; } .d9-bar { display: flex; flex-direction: column; gap: 6px; } /* Track: the full-width gutter the colored fill grows into. The gutter colour is a paler shade of the source's accent so even the unfilled portion has a chromatic hint of which source it belongs to. */ .d9-bar__track { position: relative; height: 28px; background: #f1ece0; border-radius: 3px; overflow: hidden; } .d9-bar__fill { position: absolute; top: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; color: #fff; font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; letter-spacing: 0.6px; text-transform: uppercase; white-space: nowrap; min-width: 4px; } .d9-bar__label-inside { letter-spacing: 1px; } .d9-bar__pct-inside { font-variant-numeric: tabular-nums; font-weight: 600; } /* For very narrow bars (<16% width), labels won't fit inside; render them in the gutter to the right of the fill. */ .d9-bar__label-outside { position: absolute; top: 50%; transform: translateY(-50%); left: calc(var(--narrow-fill-w, 0%) + 10px); font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 500; color: #1f1f1d; letter-spacing: 1px; text-transform: uppercase; } .d9-bar__pct-outside { position: absolute; top: 50%; transform: translateY(-50%); right: 12px; font-family: "JetBrains Mono", monospace; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--bar-color); letter-spacing: 0.6px; } .d9-bar__desc { font-size: 11px; line-height: 1.45; color: #6b6e6a; padding-left: 4px; }