diff --git a/public/live.css b/public/live.css
index c5e67ea7..2f27b989 100644
--- a/public/live.css
+++ b/public/live.css
@@ -56,6 +56,8 @@
top: 64px;
left: 12px;
display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
align-items: center;
gap: 14px;
background: color-mix(in srgb, var(--surface-1) 92%, transparent);
@@ -280,14 +282,18 @@
border-top-color: var(--surface-1) !important;
}
+/* audio controls spans full row when visible */
+.live-header .audio-controls { flex: 0 0 100%; margin-left: 0; }
+
/* ---- Heatmap toggle ---- */
.live-toggles {
display: flex;
+ flex: 0 0 100%;
gap: 10px;
font-size: 11px;
color: var(--text-muted);
align-items: center;
- margin-left: 8px;
+ margin-left: 0;
}
.live-toggles label { display: flex; align-items: center; gap: 3px; cursor: pointer; white-space: nowrap; }
.live-toggles input { margin: 0; }
diff --git a/public/live.js b/public/live.js
index a5a50bf3..c7b5fe7a 100644
--- a/public/live.js
+++ b/public/live.js
@@ -895,6 +895,7 @@
+
diff --git a/public/style.css b/public/style.css
index ecc9d011..6153ea9f 100644
--- a/public/style.css
+++ b/public/style.css
@@ -664,20 +664,20 @@ input[type="week"] {
.filter-bar input, .filter-bar select {
padding: 6px 10px; border: 1px solid var(--border); border-radius: 6px;
font-size: 13px; background: var(--input-bg); color: var(--text); font-family: var(--font);
- height: 34px; box-sizing: border-box; line-height: 1;
+ height: 34px; min-height: 34px; box-sizing: border-box; line-height: 1;
}
.filter-bar input { width: 120px; }
.filter-bar select { min-width: 90px; }
.filter-bar .btn {
padding: 6px 14px; border: 1px solid var(--border); border-radius: 6px;
background: var(--input-bg); cursor: pointer; font-size: 13px; transition: all .15s;
- font-family: var(--font); color: var(--text); height: 34px; box-sizing: border-box; line-height: 1;
+ font-family: var(--font); color: var(--text); height: 34px; min-height: 34px; box-sizing: border-box; line-height: 1;
}
.filter-group { display: flex; gap: 6px; align-items: center; }
/* #1124 (MAJOR-3): each grouped cluster wraps as a single unit at narrow
* widths instead of letting individual controls reflow across categories. */
.filter-bar .filter-group { flex-wrap: nowrap; }
-.filter-group .btn { padding: 4px 10px; font-size: 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--input-bg); color: var(--text); cursor: pointer; transition: background 0.15s, color 0.15s; }
+.filter-group .btn { padding: 4px 10px; font-size: 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--input-bg); color: var(--text); cursor: pointer; transition: background 0.15s, color 0.15s; height: 34px; min-height: 34px; box-sizing: border-box; line-height: 1; }
.filter-group .btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
.filter-group .btn:hover:not(.active) { background: var(--surface-2); }
.filter-group + .filter-group { border-left: 1px solid var(--border); padding-left: 12px; margin-left: 6px; }
@@ -692,6 +692,7 @@ input[type="week"] {
.sort-help:hover .sort-help-tip { display: block; }
.filter-bar .btn:hover { background: var(--row-hover); }
.filter-bar .btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }
+.filter-bar .col-toggle-btn { height: 34px; min-height: 34px; }
.btn-icon {
background: none; border: 1px solid var(--border); border-radius: 6px;