diff --git a/web/zebra-spaces.html b/web/zebra-spaces.html
index 74701d9..2610fc7 100644
--- a/web/zebra-spaces.html
+++ b/web/zebra-spaces.html
@@ -474,8 +474,10 @@
.badge.cohost { background: #444; color: #fff; }
.badge.speaker { background: #fff; color: #000; }
.badge.listener{ background: #fff; color: #888; border-color: #888; }
- /* handle gets its own row — never wrap, scroll if absurdly long */
- .handle { font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
+ /* handle is never truncated. Long handles wrap on word boundaries
+ * by default; overflow-wrap:break-word allows a single absurdly long
+ * word to wrap rather than push the column wider. */
+ .handle { font-weight: bold; overflow-wrap: break-word; min-width: 0; }
.handle .me { color: #060; font-weight: normal; font-size: 0.7rem; margin-left: 0.3rem; }
/* full pubkey, monospace, wraps onto as many lines as it needs */
.pub-short {
@@ -3694,8 +3696,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');