diff --git a/src/assets/stylesheets/2d-hud.scss b/src/assets/stylesheets/2d-hud.scss
index b1cf61cf12a28b35bb1720d933c9b50f59d01988..acf3d03bdc85a2389f85873a7f91c023e582138a 100644
--- a/src/assets/stylesheets/2d-hud.scss
+++ b/src/assets/stylesheets/2d-hud.scss
@@ -1,12 +1,5 @@
 @import 'shared';
 
-:local(.unselectable) {
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-
 :local(.container) {
   position: absolute;
   display: flex;
diff --git a/src/assets/stylesheets/create-object-dialog.scss b/src/assets/stylesheets/create-object-dialog.scss
index 9500fa41e328409b46915719dfa3f3cb5f4de6b0..4f612a082874606f1eac993267462b999beadf86 100644
--- a/src/assets/stylesheets/create-object-dialog.scss
+++ b/src/assets/stylesheets/create-object-dialog.scss
@@ -9,6 +9,7 @@
 }
 
 :local(.action-button) {
+  @extend %unselectable;
   @extend %bottom-action-button;
   margin-left: 6px;
   margin-right: 6px;
@@ -20,12 +21,14 @@
 }
 
 :local(.buttons) {
+  @extend %unselectable;
   display: flex;
   flex-direction: row;
   align-items: center;
 }
 
 :local(.small-button) {
+  @extend %unselectable;
   margin-left: 0.25em;
   font-size: 2em;
   align-self: center;
diff --git a/src/assets/stylesheets/hub.scss b/src/assets/stylesheets/hub.scss
index c7ea6d87c861f86ecda0c747e239467b2be32537..e24bf7f06dd6c27231971ce03e244ac829087d7c 100644
--- a/src/assets/stylesheets/hub.scss
+++ b/src/assets/stylesheets/hub.scss
@@ -7,6 +7,7 @@
 @import 'entry';
 @import 'audio';
 @import 'info-dialog';
+@import 'shared';
 
 .a-enter-vr, .a-orientation-modal {
   display: none;
@@ -18,5 +19,5 @@
 
 
 .webxr-realities, .webxr-sessions {
-  user-select: none;
+  @extend %unselectable
 }
diff --git a/src/assets/stylesheets/shared.scss b/src/assets/stylesheets/shared.scss
index 1e52392c3cd57c4704d7822c3f31e8adf79c086c..1a494fc65502ad7423f770204238e84c6a9fb8b8 100644
--- a/src/assets/stylesheets/shared.scss
+++ b/src/assets/stylesheets/shared.scss
@@ -9,6 +9,13 @@ $dark-grey: rgba(128, 128, 128, 1.0);
 $darker-grey: rgba(64, 64, 64, 1.0);
 $darkest-grey: rgba(32, 32, 32, 1.0);
 
+%unselectable {
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
 %default-font {
   font-family: 'Zilla Slab', sans-serif;
 }
diff --git a/src/assets/stylesheets/ui-root.scss b/src/assets/stylesheets/ui-root.scss
index 90f6e245efa030784d4a4733fa0010960c0a3c67..93771621fea6e39cdc19b15c559df4909698ced2 100644
--- a/src/assets/stylesheets/ui-root.scss
+++ b/src/assets/stylesheets/ui-root.scss
@@ -42,7 +42,7 @@
   grid-template-rows: 1fr 20px minmax(200px, 600px) 20px 1fr;
   width: 100%;
   height: 100%;
-  user-select: none;
+  @extend %unselectable;
 
   &--darkened {
     background-color: $dark-transparent;
@@ -70,13 +70,11 @@
 
 .ui-interactive {
   pointer-events: auto;
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
+  @extend %unselectable;
 }
 
 :local(.nag-button) {
+  @extend %unselectable;
   position: absolute;
   top: 110px;
   left: 0;
@@ -86,7 +84,7 @@
   justify-content: center;
   height: 80px;
   pointer-events: none;
-  
+
   button {
     @extend %action-button;
     pointer-events: auto;
@@ -134,6 +132,7 @@
 }
 
 :local(.presence-info) {
+  @extend %unselectable;
   text-align: right;
   position: absolute;
   top: 0;
diff --git a/src/components/stats-plus.css b/src/components/stats-plus.css
index f3850c47b80cbc9f456c30f9ef1a1e7b17fb500f..3af930168e2721e3c3c27f901ffaa606892af6e8 100644
--- a/src/components/stats-plus.css
+++ b/src/components/stats-plus.css
@@ -19,6 +19,9 @@
   padding: 8px 12px;
   color: #aaa;
   font-size: 10px;
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -ms-user-select: none;
   user-select: none;
 }
 
@@ -26,5 +29,8 @@
   right: 10px;
   left: auto;
   top: 10px;
+  -moz-user-select: none;
+  -webkit-user-select: none;
+  -ms-user-select: none;
   user-select: none;
 }
diff --git a/src/components/virtual-gamepad-controls.css b/src/components/virtual-gamepad-controls.css
index 3a5ed3c9c6aeb7ebda7a3b8f4cee610af2a78a57..77c77e1adf03d22f108c2dbdd8f0f5bb1657385e 100644
--- a/src/components/virtual-gamepad-controls.css
+++ b/src/components/virtual-gamepad-controls.css
@@ -16,10 +16,10 @@
 
 :local(.mockJoystickContainer) {
   position: absolute;
-  height: 20vh;
+  height: 0;
   left: 0;
   right: 0;
-  bottom: 0;
+  bottom: 10vh;
   display: flex;
   align-items: center;
   justify-content: space-around;