diff --git a/src/components/close-button/close-button.css b/src/components/close-button/close-button.css
index ef48624c4c69a1d2a3d96d263a3eeaa44bdf65f2..ce9cc99ac96ba61f8b30bcdcd815de1dbfe63ded 100644
--- a/src/components/close-button/close-button.css
+++ b/src/components/close-button/close-button.css
@@ -15,6 +15,7 @@
 
     font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
     cursor: pointer;
+    user-select: none;
     transition: all 0.15s ease-out; /* @todo: standardize with var */
 }
 
@@ -35,7 +36,7 @@
 }
 
 /*  Same icon as Sprite Selector Add button, but rotated.
-    TODO: reuse?
+    @todo: reuse?
 */
 .close-icon {
     transform-origin: 50%;
diff --git a/src/components/gui/gui.css b/src/components/gui/gui.css
index 78b2dc40e2628d36c5034d52cb4a2c5c0edb2e31..e587122a7c7bdc8131b7e9fbe99de0df03fdbfdb 100644
--- a/src/components/gui/gui.css
+++ b/src/components/gui/gui.css
@@ -64,6 +64,9 @@
 .stage-wrapper {
     padding-left: $space;
     padding-right: $space;
+
+    /* Hides negative space between edge of rounded corners + container, when selected */
+    user-select: none; 
 }
 
 .target-wrapper {
diff --git a/src/components/menu-bar/menu-bar.css b/src/components/menu-bar/menu-bar.css
index 71e94f81a3328321b285d932a3654fafafb580d6..a9d3b37fa7db7847cb0eba2ebfde769b8c013ff6 100644
--- a/src/components/menu-bar/menu-bar.css
+++ b/src/components/menu-bar/menu-bar.css
@@ -57,6 +57,7 @@
     cursor: pointer;
     text-decoration: none;
     color: white;
+    user-select: none;
 }
 
 .menu-item:hover {
diff --git a/src/components/modal/modal.css b/src/components/modal/modal.css
index dea04e1f428504b8cedeb8d9d24cec9c2e964b14..25a134f5e689d5d80dae6ca88fe6a7a693dccce3 100644
--- a/src/components/modal/modal.css
+++ b/src/components/modal/modal.css
@@ -23,6 +23,7 @@
     bottom: 5%;
     left: 5%;
     border-radius: $space;
+    user-select: none;
 }
 
 .modal-children {
diff --git a/src/components/sprite-info/sprite-info.css b/src/components/sprite-info/sprite-info.css
index c1dc88349d3703078eb5d4c3ce693f30677d036a..b83e46ca8bb42208aa1102ca10a0c7c7ffa48364 100644
--- a/src/components/sprite-info/sprite-info.css
+++ b/src/components/sprite-info/sprite-info.css
@@ -31,19 +31,14 @@ $form-radius: calc($space / 2);
     align-items: center;
 }
 
-/* @todo: refactor from descendant selector, to a regular class */
 .icon-wrapper {
     display: inline-block;
     box-sizing: content-box;
     width: 1.25rem;
     height: 1.25rem;
     padding: calc($space / 2);
-    cursor: pointer;
     outline: none;
-
-    /* @todo: make this a mixin for all UI text labels */
     user-select: none;
-    cursor: default;
 }
 
 .icon {
@@ -131,6 +126,7 @@ $form-radius: calc($space / 2);
     width: 100%; 
     height: 1.85rem;  
     border: 1px solid $form-border;
+    user-select: none;
     outline: none;
 }
 
diff --git a/src/components/sprite-selector-item/sprite-selector-item.css b/src/components/sprite-selector-item/sprite-selector-item.css
index 787be776b4f17581841adf9d641b873e6009edbf..faf7c36125223cbd400d2ae1c64fb40d8a58d51b 100644
--- a/src/components/sprite-selector-item/sprite-selector-item.css
+++ b/src/components/sprite-selector-item/sprite-selector-item.css
@@ -37,11 +37,14 @@
 
 .sprite-image {
     margin: auto;
+    user-select: none;
 }
 
 .sprite-name {
     font-size: 0.625rem;
     margin: 0.15rem;
+    user-select: none;
+    
     /*
         For truncating overflowing text gracefully
         Min-width is for a bug: https://css-tricks.com/flexbox-truncated-text
diff --git a/src/components/stage-selector/stage-selector.css b/src/components/stage-selector/stage-selector.css
index 66309ff9a789e4de032161d384ef05a8bfb6c892..dcb77ffd72bc8f0724adff63d67d8d3f473bd0fe 100644
--- a/src/components/stage-selector/stage-selector.css
+++ b/src/components/stage-selector/stage-selector.css
@@ -58,6 +58,7 @@ $header-height: 2.5rem; /* @todo: half the SpriteInfo area header? */
     color: #575e75;
     background: #ededed;
     border-radius: 0.25rem;
+    user-select: none;
 }
 
 .label {
@@ -66,13 +67,14 @@ $header-height: 2.5rem; /* @todo: half the SpriteInfo area header? */
     font-size: 0.5rem;
     font-weight: bold;
     color: #575e75;
+    user-select: none;
 }
 
 $border-width: 2px;
 
 .flex-wrapper {
     display: flex;
-    flex-direction: column; /* to make rows */
+    flex-direction: column; /* makes rows */
     align-items: center;
     background-color: white;
     border-radius: calc($space / 2);
@@ -96,4 +98,5 @@ $border-width: 2px;
     width: 100%;
     border-top-left-radius: calc($space / 2);
     border-top-right-radius: calc($space / 2);
+    user-select: none;
 }
diff --git a/src/components/target-pane/target-pane.css b/src/components/target-pane/target-pane.css
index 8b11406d0d1509cd774c930399d6f3a0ec2b9a4f..5f70c5878e319101be0b0ef3fa33cf2bdc40369e 100644
--- a/src/components/target-pane/target-pane.css
+++ b/src/components/target-pane/target-pane.css
@@ -29,6 +29,7 @@
     box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
     transition: all 0.15s ease-out; /* @todo: standardize with var */ 
     cursor: pointer;
+    user-select: none;
 }
 
 .add-button-wrapper:hover {