diff --git a/src/renderer-stats.ts b/src/renderer-stats.ts
index b418d27..b80d7f9 100644
--- a/src/renderer-stats.ts
+++ b/src/renderer-stats.ts
@@ -143,20 +143,20 @@ function renderStatsSizeBuckets(buckets: ArchiveStatsBucket[]): void {
const maxCount = buckets.reduce((m, b) => Math.max(m, b.count), 0);
if (maxCount === 0) {
- applyHtml(container, `
${escapeStatsHtml(UI_TEXT.static.statsEmpty)}
`);
+ applyHtml(container, `${escapeStatsHtml(UI_TEXT.static.statsEmpty)}
`);
return;
}
applyHtml(container, buckets.map((b) => {
const pct = b.count > 0 ? Math.max(2, Math.round((b.count / maxCount) * 100)) : 0;
return `
-
-
+
+
${escapeStatsHtml(b.label)}
- ${b.count} · ${formatBytesForStats(b.bytes)}
+ ${b.count} · ${formatBytesForStats(b.bytes)}
-
`;
diff --git a/src/styles.css b/src/styles.css
index f9086b5..c6cd14c 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -2361,6 +2361,42 @@ select option {
font-variant-numeric: tabular-nums;
}
+/* Recording-size distribution buckets — one row per size bucket,
+ count + total bytes on the right, horizontal bar below. */
+.stats-bucket-row {
+ margin-bottom: 8px;
+}
+
+.stats-bucket-row:last-child {
+ margin-bottom: 0;
+}
+
+.stats-bucket-meta {
+ display: flex;
+ justify-content: space-between;
+ font-size: 13px;
+ margin-bottom: 3px;
+ gap: 8px;
+}
+
+.stats-bucket-meta-sub {
+ color: var(--text-secondary);
+ font-variant-numeric: tabular-nums;
+}
+
+.stats-bucket-bar-track {
+ background: var(--bg-elevated);
+ border-radius: 3px;
+ height: 12px;
+ overflow: hidden;
+}
+
+.stats-bucket-bar-fill {
+ height: 100%;
+ background: var(--accent, #9146ff);
+ transition: width 0.4s ease-out;
+}
+
/* Old generic scrollbar rules were dead — superseded by the
purple-themed *::-webkit-scrollbar block further down the file.
Removed to avoid confusion when someone greps for scrollbar styles. */