diff --git a/public/index.html b/public/index.html
index 7fa55f44..1cb1a4ae 100644
--- a/public/index.html
+++ b/public/index.html
@@ -20,7 +20,7 @@
-
+
-
+
diff --git a/public/nodes.js b/public/nodes.js
index 40643f0a..4ae99fde 100644
--- a/public/nodes.js
+++ b/public/nodes.js
@@ -348,8 +348,9 @@
tbody.innerHTML = sorted.map(n => {
const roleColor = ROLE_COLORS[n.role] || '#6b7280';
- return `
- | ${favStar(n.public_key, 'node-fav')}${n.name || '(unnamed)'} |
+ const isClaimed = myKeys.has(n.public_key);
+ return `
+ | ${favStar(n.public_key, 'node-fav')}${isClaimed ? '★ ' : ''}${n.name || '(unnamed)'} |
${truncate(n.public_key, 16)} |
${n.role} |
${timeAgo(n.last_seen)} |
diff --git a/public/style.css b/public/style.css
index 1288d1ba..f3c9d633 100644
--- a/public/style.css
+++ b/public/style.css
@@ -1372,3 +1372,8 @@ tr[data-hops]:hover { background: rgba(59,130,246,0.1); }
.analytics-peer-table tr:hover td { background: var(--card-bg); }
@media (max-width: 768px) { .analytics-stats { grid-template-columns: repeat(2, 1fr); } .analytics-charts { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .analytics-stats { grid-template-columns: 1fr; } }
+
+/* Claimed (My Mesh) node rows */
+.claimed-row { background: color-mix(in srgb, var(--accent) 8%, transparent) !important; border-left: 3px solid var(--accent); }
+.claimed-row:hover { background: color-mix(in srgb, var(--accent) 14%, transparent) !important; }
+.claimed-badge { color: var(--accent); font-size: 13px; margin-right: 2px; }