diff --git a/inst/lib/bsw5/dist/cyborg/_bootswatch.scss b/inst/lib/bsw5/dist/cyborg/_bootswatch.scss
index 8f77b7bd..f73f1ffd 100644
--- a/inst/lib/bsw5/dist/cyborg/_bootswatch.scss
+++ b/inst/lib/bsw5/dist/cyborg/_bootswatch.scss
@@ -13,16 +13,16 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&di
 
 .navbar {
   &.bg-primary {
-    border: 1px solid $gray-700;
+    border: 1px solid body-mix(50%);
   }
 
   &.bg-dark {
     background-color: $body-bg !important;
-    border: 1px solid $gray-700;
+    border: 1px solid body-mix(50%);
   }
 
   &.bg-light {
-    background-color: $gray-500 !important;
+    background-color: body-mix(16%) !important;
   }
 
   &.fixed-top {
@@ -40,7 +40,7 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&di
   @each $color, $value in $theme-colors {
     &-#{$color} {
       @if $enable-gradients {
-        background: $value linear-gradient(180deg, mix($white, $value, 15%), $value) repeat-x;
+        background: $value linear-gradient(180deg, mix($contrast-bg, $value, 15%), $value) repeat-x;
       } @else {
         background-color: $value;
       }
@@ -51,7 +51,7 @@ $web-font-path: "https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&di
 // Forms
 
 legend {
-  color: $white;
+  color: $contrast-bg;
 }
 
 .form-control {
@@ -66,10 +66,10 @@ legend {
 .nav-tabs,
 .nav-pills {
   .nav-link {
-    color: $white;
+    color: $contrast-bg;
 
     &:hover {
-      background-color: $gray-700;
+      background-color: body-mix(50%);
     }
 
     &.disabled,
@@ -86,7 +86,7 @@ legend {
 
 .breadcrumb {
   a {
-    color: $white;
+    color: $contrast-bg;
   }
 }
 
@@ -99,19 +99,19 @@ legend {
 // Indicators
 
 .alert {
-  color: $white;
+  color: $contrast-bg;
   border: none;
 
   a,
   .alert-link {
-    color: $white;
+    color: $contrast-bg;
     text-decoration: underline;
   }
 
   @each $color, $value in $theme-colors {
     &-#{$color} {
       @if $enable-gradients {
-        background: $value linear-gradient(180deg, mix($white, $value, 15%), $value) repeat-x;
+        background: $value linear-gradient(180deg, mix($contrast-bg, $value, 15%), $value) repeat-x;
       } @else {
         background-color: $value;
       }
diff --git a/inst/lib/bsw5/dist/cyborg/_variables.scss b/inst/lib/bsw5/dist/cyborg/_variables.scss
index ff240d02..d39489e5 100755
--- a/inst/lib/bsw5/dist/cyborg/_variables.scss
+++ b/inst/lib/bsw5/dist/cyborg/_variables.scss
@@ -31,21 +31,31 @@ $teal:    #20c997 !default;
 $cyan:    #93c !default;
 
 $primary:       $blue !default;
-$secondary:     $gray-600 !default;
 $success:       $green !default;
 $info:          $cyan !default;
 $warning:       $yellow !default;
 $danger:        $red !default;
-$light:         $gray-800 !default;
-$dark:          $gray-400 !default;
 
 $min-contrast-ratio:   2.25 !default;
 
 
 // Body
 
-$body-bg:       #060606 !default;
-$body-color:    $gray-400 !default;
+// Body
+
+@function body-mix($weight) {
+  @return mix(#060606, $gray-400, $weight);
+}
+$body-bg:                   body-mix(100%) !default;
+$body-color:                body-mix(0%) !default;
+
+// Most defaults to cascade from body bg/color, but some
+// colors really want to a full contrast from the bg color
+$contrast-bg: color-contrast($body-bg) !default;
+$secondary:   body-mix(67%) !default;
+$light:       body-mix(33%) !default;
+$dark:        $body-color !default;
+
 
 // Fonts
 
@@ -56,16 +66,16 @@ $h2-font-size:            3rem !default;
 $h3-font-size:            2.5rem !default;
 $h4-font-size:            2rem !default;
 $h5-font-size:            1.5rem !default;
-$headings-color:          $white !default;
+$headings-color:          $contrast-bg !default;
 
 // Tables
 
-$table-color:                   $white !default;
-$table-accent-bg:               rgba($white, .05) !default;
-$table-hover-bg:                rgba($white, .075) !default;
-$table-border-color:            $gray-700 !default;
-$table-dark-bg:                 $gray-500 !default;
-$table-dark-border-color:       darken($gray-500, 7.5%) !default;
+$table-color:                   $contrast-bg !default;
+$table-accent-bg:               rgba($contrast-bg, .05) !default;
+$table-hover-bg:                rgba($contrast-bg, .075) !default;
+$table-border-color:            body-mix(50%) !default;
+$table-dark-bg:                 body-mix(16%) !default;
+$table-dark-border-color:       body-mix(23%) !default;
 
 $table-bg-scale:              0% !default;
 
@@ -75,18 +85,18 @@ $input-btn-padding-x:       1rem !default;
 
 // Forms
 
-$input-bg:                          $white !default;
-$input-disabled-bg:                 $gray-400 !default;
+$input-bg:                          $contrast-bg !default;
+$input-disabled-bg:                 $body-color !default;
 
-$input-color:                       $gray-900 !default;
-$input-border-color:                $white !default;
+$input-color:                       body-mix(85%) !default;
+$input-border-color:                $contrast-bg !default;
 $input-border-width:                0 !default;
 
-$input-group-addon-color:           $white !default;
-$input-group-addon-bg:              $gray-700 !default;
+$input-group-addon-color:           $contrast-bg !default;
+$input-group-addon-bg:              body-mix(50%) !default;
 $input-group-addon-border-color:    transparent !default;
 
-$form-check-input-bg:                     $white !default;
+$form-check-input-bg:                     $contrast-bg !default;
 $form-check-input-border:                 none !default;
 
 $form-file-button-color:          $input-group-addon-color !default;
@@ -95,30 +105,30 @@ $form-file-button-hover-bg:       darken($form-file-button-bg, 2%) !default;
 
 // Dropdowns
 
-$dropdown-bg:                    $gray-700 !default;
-$dropdown-divider-bg:            $gray-800 !default;
-$dropdown-link-color:            $white !default;
-$dropdown-link-hover-color:      $white !default;
+$dropdown-bg:                    body-mix(50%) !default;
+$dropdown-divider-bg:            body-mix(67%) !default;
+$dropdown-link-color:            $contrast-bg !default;
+$dropdown-link-hover-color:      $contrast-bg !default;
 $dropdown-link-hover-bg:         $primary !default;
 
 // Navs
 
 $nav-tabs-border-color:                       $table-border-color !default;
 $nav-tabs-link-hover-border-color:            $nav-tabs-border-color !default;
-$nav-tabs-link-active-color:                  $white !default;
+$nav-tabs-link-active-color:                  $contrast-bg !default;
 $nav-tabs-link-active-bg:                     $nav-tabs-border-color !default;
 $nav-tabs-link-active-border-color:           $nav-tabs-border-color !default;
 
 // Navbar
 
-$navbar-dark-hover-color:           $white !default;
+$navbar-dark-hover-color:           $contrast-bg !default;
 
 // Pagination
 
-$pagination-color:                     $white !default;
-$pagination-bg:                        $gray-700 !default;
+$pagination-color:                     $contrast-bg !default;
+$pagination-bg:                        body-mix(50%) !default;
 $pagination-border-color:              transparent !default;
-$pagination-hover-color:               $white !default;
+$pagination-hover-color:               $contrast-bg !default;
 $pagination-hover-bg:                  $primary !default;
 $pagination-hover-border-color:        $pagination-border-color !default;
 $pagination-disabled-bg:               $pagination-bg !default;
@@ -126,7 +136,7 @@ $pagination-disabled-border-color:     $pagination-border-color !default;
 
 // Cards
 
-$card-bg:                           $gray-700 !default;
+$card-bg:                           body-mix(50%) !default;
 
 // Tooltips
 
@@ -134,46 +144,46 @@ $tooltip-opacity:                   1 !default;
 
 // Popovers
 
-$popover-bg:                        $gray-700 !default;
+$popover-bg:                        body-mix(50%) !default;
 
 // Toasts
 
-$toast-color:                       $white !default;
-$toast-background-color:            $gray-800 !default;
-$toast-border-color:                $gray-700 !default;
+$toast-color:                       $contrast-bg !default;
+$toast-background-color:            body-mix(67%) !default;
+$toast-border-color:                body-mix(50%) !default;
 $toast-header-color:                $body-color !default;
 $toast-header-background-color:     $toast-background-color !default;
 $toast-header-border-color:         $toast-border-color !default;
 
 // Modals
 
-$modal-content-bg:                  $gray-800 !default;
-$modal-header-border-color:         $gray-700 !default;
+$modal-content-bg:                  body-mix(67%) !default;
+$modal-header-border-color:         body-mix(50%) !default;
 
 // Progress bars
 
-$progress-bg:                       $gray-700 !default;
+$progress-bg:                       body-mix(50%) !default;
 
 // List group
 
-$list-group-color:                  $white !default;
-$list-group-bg:                     $gray-800 !default;
-$list-group-border-color:           $gray-700 !default;
+$list-group-color:                  $contrast-bg !default;
+$list-group-bg:                     body-mix(67%) !default;
+$list-group-border-color:           body-mix(50%) !default;
 $list-group-hover-bg:               $primary !default;
-$list-group-disabled-bg:            $gray-700 !default;
-$list-group-action-color:           $white !default;
+$list-group-disabled-bg:            body-mix(50%) !default;
+$list-group-action-color:           $contrast-bg !default;
 $list-group-action-active-bg:       $primary !default;
 
 // Breadcrumbs
 
 $breadcrumb-padding-y:              .375rem !default;
 $breadcrumb-padding-x:              .75rem !default;
-$breadcrumb-bg:                     $gray-700 !default;
+$breadcrumb-bg:                     body-mix(50%) !default;
 $breadcrumb-border-radius:          .25rem !default;
 
 // Close
 
-$btn-close-color:            $white !default;
+$btn-close-color:            $contrast-bg !default;
 $btn-close-opacity:          .6 !default;
 $btn-close-hover-opacity:    1 !default;
 
