diff --git a/pd/nw/css/c64.css b/pd/nw/css/c64.css
index fb9fc9c49eb344573dbbbc47fb7c3062b87e574b..0b21bfad57b978c6167d43ae9800809e56b71582 100644
--- a/pd/nw/css/c64.css
+++ b/pd/nw/css/c64.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -164,7 +175,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     color: #a49aea; /* text color */
     background-color: transparent;
@@ -377,6 +388,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -397,6 +420,19 @@ text {
     box-shadow: 7px 7px 5px black;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -418,6 +454,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     color: #a49aea;
     background-color: #3e32a2;
@@ -487,7 +528,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -498,6 +539,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -554,13 +607,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
  
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -615,6 +668,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
     color: #a49aea;
@@ -685,3 +745,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/extended.css b/pd/nw/css/extended.css
index 090a796f7d3ab17722aed8d6ca6db4b53503258a..33acc0826c20dcca26df9cf53bee5477a5856046 100644
--- a/pd/nw/css/extended.css
+++ b/pd/nw/css/extended.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -158,7 +169,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     background-color: transparent;
     white-space: pre-wrap;
@@ -367,6 +378,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -377,6 +400,19 @@ text {
     left: 0;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -398,6 +434,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     background-color:#eeeeee;
     border-radius:3px;
@@ -461,7 +502,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -472,6 +513,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -528,13 +581,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -589,6 +642,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -658,3 +718,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/footgun.css b/pd/nw/css/footgun.css
index b32fe550337ac06c9fd49e38ae832c5bcf804f08..04b325e9552b1470beb693eb517fb76945cf6120 100644
--- a/pd/nw/css/footgun.css
+++ b/pd/nw/css/footgun.css
@@ -26,6 +26,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -277,7 +288,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     color: black; /* text color */
     background-color: transparent;
@@ -495,6 +506,18 @@ text {
     -webkit-animation: fizzle 0.4s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -516,6 +539,19 @@ text {
     box-shadow: 7px 7px 5px grey;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -537,6 +573,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
 /*    font-family:Georgia; */
     background-color:#f3f3f3;
@@ -605,7 +646,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -616,6 +657,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -685,13 +738,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -746,6 +799,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -815,3 +875,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/inverted.css b/pd/nw/css/inverted.css
index 7d062ea45098ae13eb6eadc53e3cd892f7263a10..7de083e3e338d42d7e34c7253edadc8971cecd5c 100644
--- a/pd/nw/css/inverted.css
+++ b/pd/nw/css/inverted.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -176,7 +187,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     color: white; /* text color */
     background-color: transparent;
@@ -210,6 +221,12 @@ text {
     //cursor: default;
 }
 
+/* used for numbox2 to highlight contents when clicked on in runmode */
+text.activated {
+    fill: red;
+    cursor: default;
+}
+
 /* not sure if this is still needed */
 .selected_border {
     stroke: blue;
@@ -247,7 +264,7 @@ text {
 }
 
 /* gatom "activated" text (i.e., when it has the keyboard focus) */
-.atom.activated text {
+.atom.activated .data {
     fill: red;
 }
 
@@ -283,6 +300,14 @@ text {
     stroke: #3e3e3e;
 }
 
+.obj .border.dirty {
+    stroke: #ff0000;
+}
+
+.obj .border.subdirty {
+    stroke: #ff8800;
+}
+
 .comment .border {
     fill: none;
 }
@@ -384,15 +409,29 @@ text {
 
 /* can't remember why this was tagged !important */
 .xlet_selected {
-    stroke: blue !important;
-    fill: blue;
-    -webkit-animation: fizzle 0.5s linear 1;
+    stroke: #e87216;
+    fill: #e87216;
+    -webkit-animation: fizzle 0.1s ease-in 1;
+}
+
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
 }
 
 #canvas_find {
     width: 100%;
     height: 1em;
-    padding: 3px;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
     background: #444;
     color: #ccc;
     position: fixed;
@@ -406,8 +445,12 @@ text {
     background-color: #222;
     border:1px solid #eee;
     padding: 12px;
-    margin: 12px;
-    box-shadow: 7px 7px 5px #444;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px #444;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
 }
 
 #canvas_find_text {
@@ -417,6 +460,19 @@ text {
     color: white;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -430,7 +486,7 @@ text {
 .dialog_body {
     font-family: "DejaVu Sans", sans-serif;
     font-size: 10pt;
-    background-color: #f3f3f3;
+    background: rgba(243, 243, 243, 0.941); /* #f3f3f3f0; */
 }
 
 .submit_buttons {
@@ -438,13 +494,23 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
-    background-color:#eeeeee;
+/*    font-family:Georgia; */
+    background-color: rgba(243, 243, 243, 0.627); /* #f3f3f3a0; */
     border-radius:3px;
-    border:2px solid black;
+    border:1px solid #ddd;
     margin-left:auto;
     margin-right:auto;
-    padding: 10px;
+    padding: 8px;
+}
+
+legend {
+    font-size: 1.2em;
 }
 
 .hidden {
@@ -501,7 +567,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -512,6 +578,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -568,13 +646,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -629,6 +707,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -698,3 +783,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/solarized.css b/pd/nw/css/solarized.css
index 52bded5d056ef2988d110d82f2e14599cdd13ec5..80e6e0d21ae39aabb0bbaf67c109d4c5aafb67a9 100644
--- a/pd/nw/css/solarized.css
+++ b/pd/nw/css/solarized.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -169,7 +180,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     background-color: transparent;
     white-space: pre-wrap;
@@ -383,6 +394,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -403,6 +426,19 @@ text {
     box-shadow: 7px 7px 5px grey;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -430,6 +466,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     border-radius:3px;
     border:2px solid #eee8d5;
@@ -492,7 +533,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -503,6 +544,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -559,13 +612,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -620,6 +673,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -689,3 +749,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/solarized_inverted.css b/pd/nw/css/solarized_inverted.css
index e13924b0491b9d1101755122d6e266e261f9a619..fa7d2478954c4e985530ff6bcbd004e66395860a 100644
--- a/pd/nw/css/solarized_inverted.css
+++ b/pd/nw/css/solarized_inverted.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -169,7 +180,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     background-color: transparent;
     white-space: pre-wrap;
@@ -383,6 +394,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -404,6 +427,19 @@ text {
     box-shadow: 7px 7px 5px grey;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -431,6 +467,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     border-radius:3px;
     border:2px solid #eee8d5;
@@ -493,7 +534,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -504,6 +545,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -560,13 +613,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -621,6 +674,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -690,3 +750,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/strongbad.css b/pd/nw/css/strongbad.css
index 379b6fbc2b59a9a2dc579d40d6bfea94f9006ded..9f9215a4cf5756c38cc9278d59715dd0ed9ca5fb 100644
--- a/pd/nw/css/strongbad.css
+++ b/pd/nw/css/strongbad.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -166,7 +177,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     color: #4bd046;
     background-color: transparent;
@@ -380,6 +391,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -390,6 +413,19 @@ text {
     left: 0;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -411,6 +447,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     background-color:#eeeeee;
     border-radius:3px;
@@ -474,7 +515,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -485,6 +526,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -541,13 +594,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -602,6 +655,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -671,3 +731,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/subdued.css b/pd/nw/css/subdued.css
index 105d0ce981889d020d80e4c9ddc6b1240b9c6b96..857887381f580f815ccd20b7adcfadb0e468a786 100644
--- a/pd/nw/css/subdued.css
+++ b/pd/nw/css/subdued.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -166,7 +177,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     background-color: transparent;
     white-space: pre-wrap;
@@ -374,6 +385,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -393,6 +416,19 @@ text {
     box-shadow: 7px 7px 5px grey;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -414,6 +450,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     background-color:#eeeeee;
     border-radius:3px;
@@ -477,7 +518,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -488,6 +529,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -544,13 +597,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -605,6 +658,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -674,3 +734,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/vanilla.css b/pd/nw/css/vanilla.css
index 98ffcd399eff3ec58d2e1d1e76a9343631e49c3b..b987533a27782e38a57a67f49f246e1851db777b 100644
--- a/pd/nw/css/vanilla.css
+++ b/pd/nw/css/vanilla.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -159,7 +170,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     background-color: transparent;
     white-space: pre-wrap;
@@ -367,6 +378,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -377,6 +400,19 @@ text {
     left: 0;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -398,6 +434,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     background-color:#eeeeee;
     border-radius:3px;
@@ -461,7 +502,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -472,6 +513,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -528,13 +581,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -589,6 +642,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -658,3 +718,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}
diff --git a/pd/nw/css/vanilla_inverted.css b/pd/nw/css/vanilla_inverted.css
index c3b714f6ed732ddeacbc6e088abfa6f08434794d..e38f6a4d5e666deec837c58680036f7db535a949 100644
--- a/pd/nw/css/vanilla_inverted.css
+++ b/pd/nw/css/vanilla_inverted.css
@@ -12,6 +12,17 @@ body {
     font-family: "DejaVu Sans Mono";
 }
 
+#hscroll:hover, #vscroll:hover {
+    background-color: rgba(0, 0, 0, 0.39) !important;
+}
+#hscroll, #vscroll {
+  background-color: rgba(0, 0, 0, 0.267);
+}
+
+#hscroll, #vscroll {
+    cursor: -webkit-grabbing;
+}
+
 .noselect {
     -webkit-touch-callout: none;
     -webkit-user-select: none;
@@ -169,7 +180,7 @@ mark.console_find_highlighted {
     min-width: 3ch;
     position: absolute;
     display: table-cell;
-    padding: 3px 2px 3px 2px;
+    padding: 1px 0px 3px 1.5px;
     /* box-shadow: inset 1px 0px 0px 1px #000; */
     color: white; /* text color */
     background-color: transparent;
@@ -378,6 +389,18 @@ text {
     -webkit-animation: fizzle 0.5s linear 1;
 }
 
+#console_find {
+    width: 100%;
+    height: 1em;
+    padding-top: 2px;
+    padding-left: 3px;
+    padding-bottom: 9px;
+    background: silver;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+}
+
 #canvas_find {
     width: 100%;
     height: 1em;
@@ -395,6 +418,19 @@ text {
     border:1px solid white;
 }
 
+/* Dialog to ask to save the patch before quitting */
+#save_before_quit {
+    background-color: #f3f3f3;
+    border:1px solid #f3f3f3;
+    padding: 12px;
+    /* margin: 12px; */
+    /*box-shadow: 7px 7px 5px grey;*/
+    width: 70%;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
 /* Search dialog */
 
 .search_body {
@@ -416,6 +452,11 @@ text {
     padding: 8px;
 }
 
+form {
+    margin-left: 4px;
+    margin-right: 4px;
+}
+
 fieldset {
     background-color:#eeeeee;
     border-radius:3px;
@@ -479,7 +520,7 @@ input[name="receive_symbol"] {
 }
 
 input[name="label"] {
-    width: 8em;
+    width: 9em;
 }
 
 input[name="font_size"] {
@@ -490,6 +531,18 @@ input[name="startup_flags"] {
     width: 16em;
 }
 
+/* All radios */
+input[type="radio"] {
+    position: relative;
+    top: 2px;
+}
+
+/* All checkboxes */
+input[type=checkbox] {
+    position: relative;
+    top: 2px;
+}
+
 /* Canvas dialog */
 
 div.x-scale {
@@ -546,13 +599,13 @@ div.y2 {
    without becoming an order of magnitude more complex, do feel free... */
 .prefs_tab_group {
     display: table;
-    width: 90%;
+    width: 100%;
 }
 
 /* Configure the radio buttons to hide off-screen */
 .prefs_tab {
     position: absolute;
-    left:-100px;
+    left:-500px;
     top:-100px;
 }
 
@@ -607,6 +660,13 @@ div.y2 {
     height: 78vh;
 }
 
+#midi_in1, #midi_in2, #midi_in3, #midi_in4, #midi_in5, 
+    #midi_in6, #midi_in7, #midi_in8, #midi_in9, #midi_in10,
+    #midi_out1, #midi_out2, #midi_out3, #midi_out4, #midi_out5, 
+    #midi_out6, #midi_out7, #midi_out8, #midi_out9, #midi_out10 {
+    width: 205px;
+}
+
 .tab_settings {
     padding-top: 8px;
 }
@@ -676,3 +736,14 @@ input[name="rate"] {
 #titlebar_close_button:active {
     background: #e2e2e2;
 }
+
+input[type="color"] {
+    margin-bottom: 2px;
+}
+
+.foreground_color span, 
+.background_color span,
+.label_color span {
+    position: relative;
+    bottom: 2px;
+}