diff --git a/pd/nw/css/c64.css b/pd/nw/css/c64.css
index 48b647a936dfc5737df4590b0c7ef157f3afc95c..d31bbbc45c704910ba0e8be383989fbcff2635f3 100644
--- a/pd/nw/css/c64.css
+++ b/pd/nw/css/c64.css
@@ -117,7 +117,7 @@ mark.console_find_highlighted {
 /* selected connection between objects */
 .cord.signal.selected_line,
 .cord.control.selected_line {
-    stroke: blue;
+    stroke: #cc9933;
 }
 
 #cord_inspector_rect {
@@ -217,7 +217,7 @@ text {
     stroke: #7569d7;
 }
 
-/* A little hack for special canvas of [cnv].
+/* A little hack for special case of [cnv].
    All other iemguis have a black border, but
    [cnv] sets its selection rectangle to the
    user-supplied fill color when the object
@@ -296,14 +296,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -311,7 +309,8 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: #cc9933 !important;
+    fill: #7569d7;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/default.css b/pd/nw/css/default.css
index acc1bf5071c087e8234d17f159c4637930ca2bb4..80a4e3bc85f01e4852b3c342fff8f473f9094119 100644
--- a/pd/nw/css/default.css
+++ b/pd/nw/css/default.css
@@ -299,19 +299,19 @@ text {
 /* test of xlet hover animation... this should 
    probably use the web animation API instead. That
    way the animation won't get cut off when you
-   move off the object */
+   move off the object. We can't do that currently
+   because Pd just floods us with pairs of messages 
+   for every pixel we move inside an xlet. */
 @-webkit-keyframes fizzle {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -319,8 +319,9 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
-    -webkit-animation: fizzle 0.5s linear 1;
+    stroke: orange !important;
+    fill: orange;
+    -webkit-animation: fizzle 0.4s linear 1;
 }
 
 #canvas_find {
diff --git a/pd/nw/css/extended.css b/pd/nw/css/extended.css
index 90a0fea98767b40c2cc13ed09bf6366d17c36a4b..65d924ac1aa781bd272a0cb306764b3434366a69 100644
--- a/pd/nw/css/extended.css
+++ b/pd/nw/css/extended.css
@@ -289,14 +289,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -304,7 +302,8 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: blue !important;
+    fill: blue;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/inverted.css b/pd/nw/css/inverted.css
index 6deba9f697ce55e0923b4a2528dbab5ab34f36ac..13d83a79b5c0b9498001215d2085e0fb37ef4dbf 100644
--- a/pd/nw/css/inverted.css
+++ b/pd/nw/css/inverted.css
@@ -308,14 +308,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -323,7 +321,8 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: blue !important;
+    fill: blue;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/strongbad.css b/pd/nw/css/strongbad.css
index 418f5aeeab71f4e2fa088fb05044d674cc289c74..49c5b602c3ec17acc2dfac280fde67bc3ec1467a 100644
--- a/pd/nw/css/strongbad.css
+++ b/pd/nw/css/strongbad.css
@@ -107,18 +107,18 @@ mark.console_find_highlighted {
 
 .cord.signal {
     stroke-width: 2;
-    stroke: #53b83b;
+    stroke: green;
 }
 
 .cord.control {
     stroke-width: 1;
-    stroke: #53b83b;
+    stroke: green;
 }
 
 /* selected connection between objects */
 .cord.signal.selected_line,
 .cord.control.selected_line {
-    stroke: blue;
+    stroke: #53b83b;
 }
 
 #cord_inspector_rect {
@@ -266,21 +266,21 @@ text {
 
 /* control inlet */
 .xlet_control {
-    stroke: #53b83b;
+    stroke: green;
     fill: #53b83b;
 //    stroke-width: 1;
 }
 
 /* signal inlet */
 .xlet_signal {
-    stroke: #53b83b;
+    stroke: green;
     fill: #53b83b;
     stroke-width: 1;
 }
 
 /* iemgui inlet or outlet */
 .xlet_iemgui {
-    stroke: #0b560b;
+    stroke: green;
     fill: #0b560b;
     stroke-width: 1;
 }
@@ -298,14 +298,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -313,7 +311,8 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: #53b83b !important;
+    fill: green;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/subdued.css b/pd/nw/css/subdued.css
index 698b24a2921a47e59c7eac28d7d580e870e5cebc..4b499cdbc6e522acea1b42942a24290772e711e8 100644
--- a/pd/nw/css/subdued.css
+++ b/pd/nw/css/subdued.css
@@ -297,14 +297,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -312,7 +310,8 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: gray !important;
+    fill: gray;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/vanilla.css b/pd/nw/css/vanilla.css
index faaa76e76fd3f24edd480c38b11d13d6ce7bdb97..b3c7ce7169fe4cbacd3c7783ab764ce070b42a39 100644
--- a/pd/nw/css/vanilla.css
+++ b/pd/nw/css/vanilla.css
@@ -291,14 +291,12 @@ text {
     0% {
         stroke-width: 1;
         stroke-opacity: 1;
-        x: 0;
         rx: 1;
         ry: 1;
     }
     100% {
         stroke-width: 20;
         stroke-opacity: 0.2;
-        x: 100;
         rx: 50;
         ry: 50;
     }
@@ -307,6 +305,7 @@ text {
 /* can't remember why this was tagged !important */
 .xlet_selected {
     stroke: purple !important;
+    fill: purple;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/css/vanilla_inverted.css b/pd/nw/css/vanilla_inverted.css
index f1ae2d7c899a80c454d0e752869691569a672279..89551f83a85885c33f48e27406ccf85ecc81f93d 100644
--- a/pd/nw/css/vanilla_inverted.css
+++ b/pd/nw/css/vanilla_inverted.css
@@ -301,23 +301,16 @@ text {
 @-webkit-keyframes fizzle {
     0% {
         stroke-width: 1;
-        stroke-opacity: 1;
-        x: 0;
-        rx: 1;
-        ry: 1;
     }
     100% {
-        stroke-width: 20;
-        stroke-opacity: 0.2;
-        x: 100;
-        rx: 50;
-        ry: 50;
+        stroke-width: 8;
     }
 }
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: purple !important;
+    stroke: gray !important;
+    fill: gray;
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 2dbe27402f4dd00c1dfa4b0211b25bf46ae79290..71a292e6fb575178191ea945c14908c29ca4c6b9 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -1423,31 +1423,14 @@ function gui_configure_io(cid, tag, is_iemgui, is_signal, width) {
         }
         // remove xlet_selected tag
         xlet.classList.remove("xlet_selected");
-        if (xlet_anim) {
-            xlet_anim.cancel();
-        }
     }
 }
 
-var xlet_anim;
 function gui_highlight_io(cid, tag) {
     var xlet = get_item(cid, tag);
     // must check for null (see gui_configure_io)
     if (xlet !== null) {
         xlet.classList.add("xlet_selected");
-        if (!xlet_anim || xlet_anim.playState === "finished" ||
-            xlet_anim.playState === "idle") {
-            xlet_anim = xlet.animate(
-                [{"stroke-width":"3"},
-                 {"stroke-width":"7"},
-                 {"stroke-width":"3"},
-                ],
-                { duration: 600,
-                  delay: 45,
-                  iterations: Infinity,
-                  easing: "ease-in-out" }
-            );
-        }
     }
 }