diff --git a/frontend/app.js b/frontend/app.js
index b923ee3..c9a8f32 100755
--- a/frontend/app.js
+++ b/frontend/app.js
@@ -1089,6 +1089,8 @@ function escapeHtml(s) {
.replace(/"/g, '"').replace(/'/g, ''');
}
+const ICON_PLAY = '';
+const ICON_PAUSE = '';
function fmtTime(sec) {
if (!sec || !isFinite(sec)) return '0:00';
sec = Math.floor(sec);
@@ -2393,7 +2395,7 @@ function wirePlayerEvents() {
function updatePlayBtn() {
Remote.changed();
- els.playBtn.textContent = Player.master.paused ? '▶' : '⏸';
+ els.playBtn.innerHTML = Player.master.paused ? ICON_PLAY : ICON_PAUSE;
$('miniPlayBtn').textContent = Player.master.paused ? '▶' : '⏸';
const spBtn = $('servicePlayBtn');
if (spBtn) spBtn.textContent = Player.master.paused ? '▶' : '⏸';
diff --git a/frontend/index.html b/frontend/index.html
index 807c489..145808f 100755
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -171,18 +171,18 @@
-
-
-
-
-
+
+
+
+
+
-
+
diff --git a/frontend/refresh.css b/frontend/refresh.css
index 86669a1..1897ed8 100644
--- a/frontend/refresh.css
+++ b/frontend/refresh.css
@@ -463,3 +463,11 @@
.more-row.on .more-go { color: var(--accent-bright); }
.more-row.on { border-color: color-mix(in srgb, var(--accent) 55%, transparent); }
.more-sel { margin-left: auto; min-width: 96px; height: 38px; padding: 0 8px; border-radius: 10px; border: 1px solid var(--line); background: var(--bg-1); color: var(--text); font: 700 14px var(--mono); }
+
+/* SVG transport icons: drawn on one grid so they centre exactly */
+#controls .ctrl svg { width: 22px; height: 22px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
+#controls .ctrl svg.fill { fill: currentColor; stroke: none; }
+#controls .deck-main .ctrl svg { width: 24px; height: 24px; }
+#controls .deck-main .ctrl.play svg { width: 34px; height: 34px; }
+#controls .deck-main .ctrl { display: grid; place-items: center; }
+#controls .ctrl.active svg { filter: drop-shadow(0 0 6px var(--accent-glow)); }