diff --git a/pd/nw/css/c64.css b/pd/nw/css/c64.css
index f3213cfe867d9568d420572da7d39ddb534961aa..28a0f4059ab27b348e4f045e8907e7c16e13ea03 100644
--- a/pd/nw/css/c64.css
+++ b/pd/nw/css/c64.css
@@ -16,7 +16,7 @@
 
 ::selection {
     background: #a49aea;
-    color: #3e32a2;
+    color: #cc9933;
 }
 
 /* The main Pd Window */
@@ -89,6 +89,11 @@
     fill: #e87216;
 }
 
+/* text inside boxes: message boxes, object boxes, graphs, comments, etc. */
+.box_text {
+    fill: #a49aea;
+}
+
 #new_object_textentry {
     /* max-width: 10ch; */
     min-width: 3ch;
@@ -96,7 +101,8 @@
     display: table-cell;
     padding: 3px 2px 3px 2px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
-    background-color: white;
+    color: #a49aea; /* text color */
+    background-color: #3a32a2;
     white-space: normal;
     word-wrap: break-word;
     -webkit-margin-before: 0px;
@@ -151,8 +157,8 @@ text {
 }
 
 .obj .border {
-    fill: #7569d7;
-    stroke: #3e32a2;
+    fill: #3e32a2;
+    stroke: #7569d7;
 }
 
 /* A little hack for special canvas of [cnv].
diff --git a/pd/nw/css/default.css b/pd/nw/css/default.css
index ebbb1e1d0d6058b8042060fd8d7044a5b47e88fb..41afd9b96c4b5e9ce80d45e7f606877c9426b9a6 100644
--- a/pd/nw/css/default.css
+++ b/pd/nw/css/default.css
@@ -113,6 +113,12 @@ mark.console_find_highlighted {
     fill: #e87216;
 }
 
+/* text inside boxes: message boxes, object boxes, graphs, comments, etc. */
+.box_text {
+    fill: black;
+}
+
+/* text inside a box that is being edited */
 #new_object_textentry {
     /* max-width: 10ch; */
     min-width: 3ch;
@@ -120,6 +126,7 @@ mark.console_find_highlighted {
     display: table-cell;
     padding: 3px 2px 3px 2px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
+    color: black; /* text color */
     background-color: white;
     white-space: normal;
     word-wrap: break-word;
diff --git a/pd/nw/css/inverted.css b/pd/nw/css/inverted.css
index 7ad0e61145749a00d4154033f0b009c85230e632..a063b47843e5ff92529a997ac5ecb13e060fd7fe 100644
--- a/pd/nw/css/inverted.css
+++ b/pd/nw/css/inverted.css
@@ -16,7 +16,7 @@
 
 /* selected text */
 ::selection {
-    background: #3c3c3c;
+    background: #a294a2;
     color: white; /* selected text color */
 }
 
@@ -90,6 +90,11 @@
     fill: #e87216;
 }
 
+/* text inside boxes: message boxes, object boxes, graphs, comments, etc. */
+.box_text {
+    fill: white;
+}
+
 #new_object_textentry {
     /* max-width: 10ch; */
     min-width: 3ch;
@@ -97,6 +102,7 @@
     display: table-cell;
     padding: 3px 2px 3px 2px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
+    color: white; /* text color */
     background-color: black;
     white-space: normal;
     word-wrap: break-word;
diff --git a/pd/nw/css/strongbad.css b/pd/nw/css/strongbad.css
index 37d42023de803e3db3a8c7bdbe01bd6662ef2e32..aa3d02ae01e06c585cb36dc9a2962e6a15c8d66c 100644
--- a/pd/nw/css/strongbad.css
+++ b/pd/nw/css/strongbad.css
@@ -89,6 +89,11 @@
     fill: #e87216;
 }
 
+/* text inside boxes: message boxes, object boxes, graphs, comments, etc. */
+.box_text {
+    fill: #4bd046
+}
+
 #new_object_textentry {
     /* max-width: 10ch; */
     min-width: 3ch;
@@ -96,7 +101,8 @@
     display: table-cell;
     padding: 3px 2px 3px 2px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
-    background-color: white;
+    color: #4bd046;
+    background-color: black;
     white-space: normal;
     word-wrap: break-word;
     -webkit-margin-before: 0px;
diff --git a/pd/nw/css/vanilla_inverted.css b/pd/nw/css/vanilla_inverted.css
index 86e4ec6bb9def555550484bee87b10625bf2a68e..10d9f752fe1f2e822f290f7a323bfc8ddf1d4778 100644
--- a/pd/nw/css/vanilla_inverted.css
+++ b/pd/nw/css/vanilla_inverted.css
@@ -15,8 +15,8 @@
 }
 
 ::selection {
-    background: #3c3c3c;
-    color: white;
+    background: white;
+    color: black;
 }
 
 /* The main Pd Window */
@@ -89,6 +89,11 @@
     fill: #e87216;
 }
 
+/* text inside boxes: message boxes, object boxes, graphs, comments, etc. */
+.box_text {
+    fill: white;
+}
+
 #new_object_textentry {
     /* max-width: 10ch; */
     min-width: 3ch;
@@ -96,6 +101,7 @@
     display: table-cell;
     padding: 3px 2px 3px 2px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
+    color: white; /* text color */
     background-color: black;
     white-space: normal;
     word-wrap: break-word;
diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 414e45633cb74decc7dc205edcd35b0e16de7444..8f14822610c1cca05045198cc1718f3128285f2b 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -1548,7 +1548,8 @@ function gui_text_new(canvasname, myname, type, isselected, left_margin, font_he
         "shape-rendering": "crispEdges",
         "font-size": pd_fontsize_to_gui_fontsize(font) + "px",
         "font-weight": "normal",
-        id: myname + "text"
+        id: myname + "text",
+        "class": "box_text"
     });
     // trim off any extraneous leading/trailing whitespace. Because of
     // the way binbuf_gettext works we almost always have a trailing