[gtk+] High Contrast: button metrics



commit 3e6eca537b876d52cd5a3fca50d082f5cc6d1c87
Author: Jakub Steiner <jimmac gmail com>
Date:   Wed Mar 16 15:25:28 2016 +0100

    High Contrast: button metrics
    
    - sync with Adwaita for button definitions
    
    https://bugzilla.gnome.org/show_bug.cgi?id=763706

 gtk/theme/HighContrast/_common.scss              |  552 ++++++++++++-------
 gtk/theme/HighContrast/gtk-contained-inverse.css |  632 ++++++++++++++--------
 gtk/theme/HighContrast/gtk-contained.css         |  632 ++++++++++++++--------
 3 files changed, 1161 insertions(+), 655 deletions(-)
---
diff --git a/gtk/theme/HighContrast/_common.scss b/gtk/theme/HighContrast/_common.scss
index 9a58399..de48670 100644
--- a/gtk/theme/HighContrast/_common.scss
+++ b/gtk/theme/HighContrast/_common.scss
@@ -358,94 +358,161 @@ $_dot_color: $selected_bg_color;
   }
 }
 
+
 button {
-  $_button_transition: all 200ms $ease-out-quad;
+  @at-root %button_basic, & {
+    $_button_transition: all 200ms $ease-out-quad;
 
-  min-height: 24px;
-  min-width: 16px;
-  padding: 4px 8px;
-  border: 1px solid;
-  border-radius: 3px;
-  transition: $_button_transition;
-  @include button(normal);
-  &:hover, &.flat:hover {
-    @include button(hover);
-    -gtk-icon-effect: highlight;
-  }
-  &:active, &.flat:active,
-  &:checked, &.flat:checked {
-    @include button(active);
-    transition-duration: 50ms;
-  }
-  &:backdrop, &.flat:backdrop {
-    @include button(backdrop);
-    &:active, &:checked {
-      @include button(backdrop-active);
+    min-height: 24px;
+    min-width: 16px;
+    padding: 4px 8px;
+    border: 1px solid;
+    border-radius: 3px;
+    transition: $_button_transition;
+
+    @include button(normal);
+
+    &.flat {
+      @include button(undecorated);
+      // to avoid adiacent buttons borders clashing when transitioning, the transition on the normal state 
is set
+      // to none, while it's added back in the hover state, so the button decoration will fade in on hover, 
but
+      // it won't fade out when the pointer leave the button allocation area. To make the transition more 
evident
+      // in this case the duration is increased.
+      transition: none;
+
+      &:hover {
+        transition: $_button_transition;
+        transition-duration: 500ms;
+
+        &:active { transition: $_button_transition; }
+      }
     }
-    &:disabled {
-      @include button(backdrop-insensitive);
+
+    &:hover {
+      @include button(hover);
+      -gtk-icon-effect: highlight;
     }
-    &:disabled:active {
-      @include button(backdrop-insensitive-active);
+
+    &:active,
+    &:checked {
+      @include button(active);
+
+      transition-duration: 50ms;
     }
-  }
-  //&:selected, &.flat:selected,       Why this?
-  //&:selected:focus, &.flat:focus {
-  //  @extend %selected_items;
-  //}
-  &:disabled {
-    @include button(insensitive);
-    &:active, &.flat:active {
-      @include button(insensitive-active);
+
+    &:backdrop {
+      &.flat, & {
+        @include button(backdrop);
+
+        -gtk-icon-effect: none;
+
+        &:active,
+        &:checked { @include button(backdrop-active); }
+
+        &:disabled {
+          @include button(backdrop-insensitive);
+
+          &:active,
+          &:checked { @include button(backdrop-insensitive-active); }
+        }
+      }
     }
 
-  }
-  &.flat, &.flat:backdrop, &.flat:disabled:backdrop {
-    @extend %undecorated_button;
-  }
-  
-  &.image-button {
-    min-width: 24px;
-    padding-left: 4px;
-    padding-right: 4px;
-  }
+    &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }}
 
-  &.text-button {
-    padding-left: 16px;
-    padding-right: 16px;
-  }
+    &:disabled {
+      @include button(insensitive);
 
-  &.text-button.image-button {
-    padding-left: 8px;
-    padding-right: 8px;
+      &:active,
+      &:checked { @include button(insensitive-active); }
+    }
+
+    &.image-button {
+      min-width: 24px;
+      padding-left: 4px;
+      padding-right: 4px;
+    }
+
+    &.text-button {
+      padding-left: 16px;
+      padding-right: 16px;
+    }
 
-    label {
+    &.text-button.image-button {
       padding-left: 8px;
       padding-right: 8px;
+
+      label {
+        padding-left: 8px;
+        padding-right: 8px;
+      }
+    }
+
+    &:drop(active) {
+      color: $fg_color;
+      border-color: $fg_color;
+      box-shadow: inset 0 0 0 1px $fg_color;
     }
   }
 
-  // Suggested and Destructive Action buttons
-  @each $b_type, $b_color in (suggested-action, $suggested_color),
-                              (destructive-action, $destructive_color) {
-    &.#{$b_type} {
-      @include button(normal,$b_color, white);
-      &:hover {
-        @include button(hover,$b_color, white);
-      }
-      &:active, &:checked {
-        @include button(active,$b_color, white);
-      }
-      &:backdrop {
-        @include button(backdrop,$b_color,white);
-        &:disabled {
-          @include button(backdrop-insensitive);
-        }
+  @at-root %button_selected, & {
+    row:selected & {
+      @if $variant == 'light' { border-color: $selected_borders_color; }
+
+      &.flat:not(:active):not(:checked):not(:hover):not(disabled) {
+        color: $selected_fg_color;
+        border-color: transparent;
+
+        &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); }
       }
-      &:disabled {
-        @include button(insensitive);
+    }
+  }
+
+
+  // big standalone buttons like in Documents pager
+  &.osd {
+    &.image-button {
+      min-height: 48px;
+      min-width: 48px;
+    }
+
+    color: $osd_fg_color;
+    border-radius: 5px;
+    outline-color: transparentize($osd_fg_color, 0.7);  //FIXME: define a color var?
+
+    @include button(osd);
+
+    border: none;
+    box-shadow: none;
+
+    &:hover {
+      @include button(osd-hover);
+
+      border: none;
+      box-shadow: none;
+    }
+
+    &:active,
+    &:checked {
+      @include button(osd-active);
+
+      border: none;
+      box-shadow: none;
+    }
+
+    &:disabled {
+      &:backdrop, & {
+        @include button(osd-insensitive);
+
+        border: none;
       }
     }
+
+    &:backdrop {
+      @include button(osd-backdrop);
+
+      border: none;
+    }
   }
 
   //overlay / OSD style
@@ -485,9 +552,114 @@ button {
     }
   }
 
-  // buttons in header bars and action bars
-  &.image-button { padding: 8px; }
-  &.text-button { padding: 6px 8px 5px; } // due to font metrics
+  // Suggested and Destructive Action buttons
+  @each $b_type, $b_color in (suggested-action, $selected_bg_color),
+                             (destructive-action, $destructive_color) {
+    &.#{$b_type} {
+      @include button(normal, $b_color, white);
+
+      &.flat {
+        @include button(undecorated);
+
+        color: $b_color; //FIXME: does it work on the dark variant?
+      }
+
+      &:hover { @include button(hover, $b_color, white); }
+
+      &:active,
+      &:checked { @include button(active, $b_color, white); }
+
+      &:backdrop,
+      &.flat:backdrop {
+        @include button(backdrop, $b_color, white);
+
+        &:active,
+        &:checked { @include button(backdrop-active, $b_color, white); }
+
+        &:disabled {
+          @include button(backdrop-insensitive);
+
+          &:active,
+          &:checked { @include button(backdrop-insensitive-active, $b_color, white); }
+        }
+      }
+
+      &.flat {
+        &:backdrop, &:disabled, &:backdrop:disabled {
+          @include button(undecorated);
+
+          color: transparentize($b_color, 0.2);
+        }
+      }
+
+      &:disabled {
+        @include button(insensitive);
+
+        &:active,
+        &:checked { @include button(insensitive-active, $b_color, white); }
+      }
+
+      .osd & {
+        @include button(osd, $b_color);
+
+        &:hover { @include button(osd-hover, $b_color); }
+
+        &:active,
+        &:checked { &:backdrop, & { @include button(osd-active, $b_color); }}
+
+        &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }}
+
+        &:backdrop { @include button(osd-backdrop, $b_color); }
+      }
+    }
+  }
+
+  .stack-switcher > & {
+    // to position the needs attention dot, padding is added to the button
+    // child, a label needs just lateral padding while an icon needs vertical
+    // padding added too.
+
+    outline-offset: -3px; // needs to be set or it gets overriden by GtkRadioButton outline-offset
+
+    > label {
+      padding-left: 6px;  // label padding
+      padding-right: 6px; //
+    }
+
+    > image {
+      padding-left: 6px;   // image padding
+      padding-right: 6px;  //
+      padding-top: 3px;    //
+      padding-bottom: 3px; //
+    }
+
+    &.text-button {
+      // compensate text-button paddings
+      padding-left: 10px;
+      padding-right: 10px;
+    }
+
+    &.image-button {
+      // we want image buttons to have a 1:1 aspect ratio, so compensation
+      // of the padding added to the GtkImage is needed
+      padding-left: 2px;
+      padding-right: 2px;
+    }
+
+    &.needs-attention {
+      > label,
+      > image { @extend %needs_attention; }
+
+      &:active,
+      &:checked {
+        > label,
+        > image {
+          animation: none;
+          background-image: none;
+        }
+      }
+    }
+  }
 
   //inline-toolbar buttons
   .inline-toolbar &, .inline-toolbar &:backdrop {
@@ -496,7 +668,7 @@ button {
     @extend %linked;
   }
 
-  .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need added shadows
+  .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows
 
   .linked > &,
   .linked > &:hover,
@@ -511,49 +683,10 @@ button {
   .linked.vertical > &:backdrop { @extend %linked_vertical; }
 }
 
-// all the following is for the +|- buttons on inline toolbars, that way
-// should really be reprecated...
-.inline-toolbar toolbutton > button { // redefining the button look is
-                                               // needed since those are flat...
-  @include button(normal, $edge: none); // the box-shadow outset doesn't work
-                                          // in this case, hence $edge: none
-  &:hover { @include button(hover, $edge: none); }
-  &:active { @include button(active, $edge: none); }
-  &:disabled { @include button(insensitive, $edge: none); }
-  &:disabled:active { @include button(insensitive-active, $edge:none); }
-  &:backdrop { @include button(backdrop); };
-  &:backdrop:active { @include button(backdrop-active); }
-  &:backdrop:disabled { @include button(backdrop-insensitive); }
-  &:backdrop:disabled:active { @include button(backdrop-insensitive-active);}
-}
-toolbar.inline-toolbar toolbutton { // .inline-toolbar.toolbar here for
-                                        // higher specificity than the previous
-                                        // "button look" selector
-  & > button.flat {
-    border-radius: 0;
-    border-left-style: none;
-  }
-  &:dir(rtl) > button.flat {}
-  &:first-child > button.flat {
-    border-radius: 3px 0 0 3px;
-    border-left-style: solid;
-  }
-  &:last-child > button.flat {
-    border-radius: 0 3px 3px 0;
-  }
-  &:last-child:dir(rtl) > button.flat {
-    border-right-style: solid;
-  }
-  &:only-child > button.flat {
-    border-radius: 3px;
-    border-style: solid;
-  }
-}
-
 %needs_attention {
   animation: needs_attention 150ms ease-in;
-  $_dot_shadow: $fg_color;
-  $_dot_shadow_r: 0.5;
+  $_dot_shadow: _text_shadow_color();
+  $_dot_shadow_r: if($variant=='light',0.5,0.45);
   background-image: -gtk-gradient(radial,
                                   center center, 0,
                                   center center, 0.5,
@@ -566,33 +699,85 @@ toolbar.inline-toolbar toolbutton { // .inline-toolbar.toolbar here for
                                   to(transparent));
   background-size: 6px 6px, 6px 6px;
   background-repeat: no-repeat;
-  background-position: right 3px, right 4px;
+
+  @if $variant == 'light' { background-position: right 3px, right 4px; }
+
+  @else { background-position: right 3px, right 2px; }
+
   &:backdrop { background-size: 6px 6px, 0 0;}
+
   &:dir(rtl) {
-    background-position: left 3px, left 4px;
+    @if $variant == 'light' { background-position: left 3px, left 4px; }
+
+    @else { background-position: left 3px, left 2px; }
+  }
+}
+
+
+// all the following is for the +|- buttons on inline toolbars, that way
+// should really be deprecated...
+.inline-toolbar toolbutton > button { // redefining the button look is
+                                      // needed since those are flat...
+  @include button(normal);
+
+  &:hover { @include button(hover); }
+
+  &:active,
+  &:checked{ @include button(active); }
+
+  &:disabled {
+    @include button(insensitive);
+
+    &:active,
+    &:checked { @include button(insensitive-active); }
+  }
+
+  &:backdrop {
+    @include button(backdrop);
+
+    &:active,
+    &:checked { @include button(backdrop-active); }
+
+    &:disabled {
+      @include button(backdrop-insensitive);
+
+      &:active,
+      &:checked { @include button(backdrop-insensitive-active); }
+    }
   }
 }
 
+// More inline toolbar buttons
+toolbar.inline-toolbar toolbutton,
+toolbar.inline-toolbar toolbutton:backdrop {
+  & > button.flat { @extend %linked_middle; }
+
+  &:first-child > button.flat { @extend %linked:first-child; }
+
+  &:last-child > button.flat { @extend %linked:last-child; }
+
+  &:only-child > button.flat { @extend %linked:only-child; }
+}
+
 %linked_middle {
   border-radius: 0;
-  border-left-style: none;
-  &:dir(rtl) {
-    border-radius: 0; // needed when including %linked_middle:dir(rtl)
-    border-right-style: none;
-    border-left-style: solid
-  }
+  border-right-style: none;
 }
 
 %linked {
   @extend %linked_middle;
+
   &:first-child {
-    border-radius: 3px 0 0 3px;
-    border-left-style: solid;
+    border-top-left-radius: 3px;
+    border-bottom-left-radius: 3px;
   }
+
   &:last-child {
-    border-radius: 0 3px 3px 0;
-    &:dir(rtl) { border-right-style: solid; }
+    border-top-right-radius: 3px;
+    border-bottom-right-radius: 3px;
+    border-right-style: solid;
   }
+
   &:only-child {
     border-radius: 3px;
     border-style: solid;
@@ -600,20 +785,24 @@ toolbar.inline-toolbar toolbutton { // .inline-toolbar.toolbar here for
 }
 
 %linked_vertical_middle {
-  border-left-style: solid;
-  border-top-style: none;
+  border-style: solid solid none solid;
   border-radius: 0;
 }
 
-%linked_vertical {
+%linked_vertical{
   @extend %linked_vertical_middle;
+
   &:first-child {
-    border-style: solid;
-    border-radius: 3px 3px 0 0;
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px;
   }
+
   &:last-child {
-    border-radius: 0 0 3px 3px;
+    border-bottom-left-radius: 3px;
+    border-bottom-right-radius: 3px;
+    border-style: solid;
   }
+
   &:only-child {
     border-radius: 3px;
     border-style: solid;
@@ -621,9 +810,11 @@ toolbar.inline-toolbar toolbutton { // .inline-toolbar.toolbar here for
 }
 
 %undecorated_button {
-  border-color: transparent;
   background-color: transparent;
   background-image: none;
+  border-color: transparent;
+  box-shadow: inset 0 1px transparentize(white,1),
+              0 1px transparentize(white, 1);
   text-shadow: none;
   -gtk-icon-shadow: none;
 }
@@ -679,6 +870,7 @@ button.color {
   }
 }
 
+
 /*********
  * Links *
  *********/
@@ -902,81 +1094,45 @@ spinbutton {
  * ComboBoxes *
  **************/
 combobox {
-  > button.combo {
-    padding-left: 8px;
-    padding-right: 8px;
-  }
-
-  @include _button_text_shadow;
-
-  &:disabled {
-    color: $insensitive_fg_color;
-    text-shadow: none;
-    -gtk-icon-shadow: none;
-  }
-  &:backdrop {
-    color: $backdrop_fg_color;
-    text-shadow: none;
-    -gtk-icon-shadow: none;
-  }
-  &:backdrop:disabled {
-    color: $insensitive_fg_color;
-  }
-  & arrow {
+  arrow {
     -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
     min-height: 16px;
     min-width: 16px;
   }
-  .menuitem { text-shadow: none; }
-  & > entry.combo {
-    border-radius: 3px 0 0 3px;
-    &:dir(rtl) {
-      border-radius: 0 3px 3px 0;
+
+  &.linked {
+    button:nth-child(2) {
+      &:dir(ltr) { @extend %linked:last-child; }
+      &:dir(rtl) { @extend %linked:first-child; }
     }
   }
-  & > button.combo:not(:only-child) {
-    &:dir(ltr) {
-      border-top-left-radius: 0;
-      border-bottom-left-radius: 0;
-      border-left-style: none;
-    }
-    &:dir(rtl) {
-      border-top-right-radius: 0;
-      border-bottom-right-radius: 0;
-      border-right-style: none;
-    }
+
+  &:drop(active) { // FIXME: untested
+    box-shadow: none;
+
+    button.combo { @extend %button_basic:drop(active); }
   }
 }
 
-.linked > combobox > button.combo {
-  // The combo is a composite widget so the way we do
-  // button linking doesn't work, special case needed.
-  // See https://bugzilla.gnome.org/show_bug.cgi?id=733979
-  &:dir(ltr) { @extend %linked_middle; } // specificity bump
-  &:dir(rtl) { @extend %linked_middle:dir(rtl); }
-}
-.linked > combobox:first-child > button.combo {
-  @extend %linked:first-child;
-}
-.linked > combobox:last-child > button.combo {
-  @extend %linked:last-child;
-}
-.linked > combobox:only-child > button.combo {
-  @extend %linked:only-child;
-}
-.linked.vertical > combobox  > button.combo {
-  @extend %linked_vertical_middle;
-}
-.linked.vertical > combobox:first-child > button.combo {
-  @extend %linked_vertical:first-child;
-}
-.linked.vertical > combobox:last-child > button.combo {
-  @extend %linked_vertical:last-child;
-}
-.linked.vertical > combobox:only-child > button.combo {
-  @extend %linked_vertical:only-child;
+.linked > combobox > box > button.combo {
+  // the combo is a composite widget so the way we do button linking doesn't
+  // work, special case needed. See
+  // https://bugzilla.gnome.org/show_bug.cgi?id=733979
+
+  &:dir(ltr),
+  &:dir(rtl) { @extend %linked_middle; } // specificity bump
 }
 
+.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked:first-child; }
+.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked:last-child; }
+.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked:only-child; }
+
+.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; }
+.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical:first-child;}
+.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical:last-child; }
+.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical:only-child; }
+
+
 /************
  * Toolbars *
  ************/
diff --git a/gtk/theme/HighContrast/gtk-contained-inverse.css 
b/gtk/theme/HighContrast/gtk-contained-inverse.css
index b4b98ff..9aafe33 100644
--- a/gtk/theme/HighContrast/gtk-contained-inverse.css
+++ b/gtk/theme/HighContrast/gtk-contained-inverse.css
@@ -390,7 +390,16 @@ button {
   background-image: none;
   background-color: #000;
   border-color: gray; }
-  button:hover, button.flat:hover, button.sidebar-button:hover {
+  button.flat, button.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    transition: none; }
+    button.flat:hover, button.sidebar-button:hover {
+      transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
+      transition-duration: 500ms; }
+      button.flat:hover:active, button.sidebar-button:hover:active {
+        transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+  button:hover {
     border-width: 2px;
     border-style: solid;
     color: #fff;
@@ -398,7 +407,7 @@ button {
     border-color: gray;
     background-image: none;
     -gtk-icon-effect: highlight; }
-  button:active, button.flat:active, button.sidebar-button:active, button:checked, button.flat:checked, 
button.sidebar-button:checked {
+  button:active, button:checked {
     border-width: 2px;
     border-style: solid;
     background-image: none;
@@ -406,7 +415,7 @@ button {
     background-color: white;
     border-color: gray;
     transition-duration: 50ms; }
-  button:backdrop, button.flat:backdrop, button.sidebar-button:backdrop {
+  button:backdrop.flat, button.sidebar-button:backdrop, button:backdrop {
     border-width: 2px;
     border-style: solid;
     color: #fff;
@@ -414,28 +423,32 @@ button {
     border-color: #737373;
     background-image: none;
     text-shadow: none;
-    -gtk-icon-shadow: none; }
-    button:backdrop:active, button:backdrop:checked, button.flat:backdrop:active, 
button.sidebar-button:backdrop:active, button.flat:backdrop:checked, button.sidebar-button:backdrop:checked {
+    -gtk-icon-shadow: none;
+    -gtk-icon-effect: none; }
+    button:backdrop.flat:active, button.sidebar-button:backdrop:active, button:backdrop.flat:checked, 
button.sidebar-button:backdrop:checked, button:backdrop:active, button:backdrop:checked {
       border-width: 2px;
       border-style: solid;
       color: black;
       background-color: #737373;
       border-color: #737373;
       background-image: none; }
-    button:backdrop:disabled, button.flat:backdrop:disabled, button.sidebar-button:backdrop:disabled {
+    button:backdrop.flat:disabled, button.sidebar-button:backdrop:disabled, button:backdrop:disabled {
       border-width: 2px;
       border-style: solid;
       color: gray;
       background-color: #070707;
       border-color: #494949;
       background-image: none; }
-    button:backdrop:disabled:active, button.flat:backdrop:disabled:active, 
button.sidebar-button:backdrop:disabled:active {
-      border-width: 2px;
-      border-style: solid;
-      color: gray;
-      border-color: #494949;
-      background-image: none;
-      background-color: #090909; }
+      button:backdrop.flat:disabled:active, button.sidebar-button:backdrop:disabled:active, 
button:backdrop.flat:disabled:checked, button.sidebar-button:backdrop:disabled:checked, 
button:backdrop:disabled:active, button:backdrop:disabled:checked {
+        border-width: 2px;
+        border-style: solid;
+        color: gray;
+        border-color: #494949;
+        background-image: none;
+        background-color: #090909; }
+  button.flat:backdrop, button.sidebar-button:backdrop, button.flat:disabled, 
button.sidebar-button:disabled, button.flat:backdrop:disabled, button.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid; }
   button:disabled {
     border-width: 2px;
     border-style: solid;
@@ -445,7 +458,7 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-    button:disabled:active, button:disabled.flat:active, button.sidebar-button:disabled:active {
+    button:disabled:active, button:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
@@ -465,99 +478,301 @@ button {
     button.text-button.image-button label {
       padding-left: 8px;
       padding-right: 8px; }
-  button.suggested-action {
+  combobox:drop(active) button.combo, button:drop(active) {
+    color: #fff;
+    border-color: #fff;
+    box-shadow: inset 0 0 0 1px #fff; }
+row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled), row:selected 
button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled) {
+  color: #fff;
+  border-color: transparent; }
+  row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected 
button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop {
+    color: #fff; }
+button.osd {
+  color: #fff;
+  border-radius: 5px;
+  outline-color: rgba(255, 255, 255, 0.3);
+  border-width: 2px;
+  border-style: solid;
+  color: #fff;
+  background-image: none;
+  background-color: rgba(0, 0, 0, 0.8);
+  border-color: rgba(255, 255, 255, 0.2);
+  box-shadow: none;
+  border: none;
+  box-shadow: none; }
+  button.osd.image-button {
+    min-height: 48px;
+    min-width: 48px; }
+  button.osd:hover {
     border-width: 2px;
     border-style: solid;
-    color: white;
-    background-image: none;
-    background-color: #4a90d9;
-    border-color: #1c5187; }
-    button.suggested-action:hover {
+    color: #fff;
+    background-color: rgba(77, 77, 77, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none;
+    border: none;
+    box-shadow: none; }
+  button.osd:active, button.osd:checked {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(0, 0, 0, 0.8);
+    background-color: #fff;
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none;
+    border: none;
+    box-shadow: none; }
+  button.osd:disabled:backdrop, button.osd:disabled {
+    border-width: 2px;
+    border-style: solid;
+    border-color: rgba(255, 255, 255, 0.2);
+    color: gray;
+    border: none; }
+  button.osd:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    border: none; }
+popover.background.touch-selection button, popover.background.magnifier button, .csd 
popover.background.touch-selection button, .csd popover.background.magnifier button, .osd button {
+  border-width: 2px;
+  border-style: solid;
+  color: #fff;
+  background-image: none;
+  background-color: rgba(0, 0, 0, 0.8);
+  border-color: rgba(255, 255, 255, 0.2);
+  box-shadow: none; }
+  popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd 
button:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: #fff;
+    background-color: rgba(77, 77, 77, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+  popover.background.touch-selection button:active:backdrop, popover.background.magnifier 
button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier 
button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier 
button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier 
button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd 
button:checked {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(0, 0, 0, 0.8);
+    background-color: #fff;
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+  popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier 
button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier 
button:disabled, .osd button:disabled:backdrop, .osd button:disabled {
+    border-width: 2px;
+    border-style: solid;
+    border-color: rgba(255, 255, 255, 0.2);
+    color: gray; }
+  popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd 
button:backdrop {
+    border-width: 2px;
+    border-style: solid; }
+  popover.background.touch-selection button.flat, popover.background.touch-selection button.sidebar-button, 
popover.background.magnifier button.flat, popover.background.magnifier button.sidebar-button, .osd 
button.flat, .osd button.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    box-shadow: none;
+    text-shadow: 0 1px black;
+    -gtk-icon-shadow: 0 1px black; }
+    popover.background.touch-selection button.flat:hover, popover.background.touch-selection 
button.sidebar-button:hover, popover.background.magnifier button.flat:hover, popover.background.magnifier 
button.sidebar-button:hover, .osd button.flat:hover, .osd button.sidebar-button:hover {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #4a90d9;
-      border-color: #1c5187;
-      background-image: none; }
-    button.suggested-action:active, button.suggested-action:checked {
+      color: #fff;
+      background-color: rgba(77, 77, 77, 0.8);
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    popover.background.touch-selection button.flat:disabled, popover.background.touch-selection 
button.sidebar-button:disabled, popover.background.magnifier button.flat:disabled, 
popover.background.magnifier button.sidebar-button:disabled, .osd button.flat:disabled, .osd 
button.sidebar-button:disabled {
       border-width: 2px;
       border-style: solid;
+      border-color: rgba(255, 255, 255, 0.2);
+      color: gray;
       background-image: none;
+      border-color: transparent;
+      box-shadow: none; }
+    popover.background.touch-selection button.flat:backdrop, popover.background.touch-selection 
button.sidebar-button:backdrop, popover.background.magnifier button.flat:backdrop, 
popover.background.magnifier button.sidebar-button:backdrop, .osd button.flat:backdrop, .osd 
button.sidebar-button:backdrop {
+      border-width: 2px;
+      border-style: solid; }
+    popover.background.touch-selection button.flat:active, popover.background.touch-selection 
button.sidebar-button:active, popover.background.magnifier button.flat:active, popover.background.magnifier 
button.sidebar-button:active, popover.background.touch-selection button.flat:checked, 
popover.background.touch-selection button.sidebar-button:checked, popover.background.magnifier 
button.flat:checked, popover.background.magnifier button.sidebar-button:checked, .osd button.flat:active, 
.osd button.sidebar-button:active, .osd button.flat:checked, .osd button.sidebar-button:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: rgba(0, 0, 0, 0.8);
+      background-color: #fff;
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+button.suggested-action {
+  border-width: 2px;
+  border-style: solid;
+  color: white;
+  background-image: none;
+  background-color: #aaa;
+  border-color: #6a6a6a; }
+  button.suggested-action.flat, button.suggested-action.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    color: #aaa; }
+  button.suggested-action:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #aaa;
+    border-color: #6a6a6a;
+    background-image: none; }
+  button.suggested-action:active, button.suggested-action:checked {
+    border-width: 2px;
+    border-style: solid;
+    background-image: none;
+    color: black;
+    background-color: #555555;
+    border-color: #6a6a6a; }
+  button.suggested-action:backdrop, button.suggested-action.flat:backdrop, 
button.suggested-action.sidebar-button:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #aaa;
+    border-color: #aaa;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.suggested-action:backdrop:active, button.suggested-action:backdrop:checked, 
button.suggested-action.flat:backdrop:active, button.suggested-action.sidebar-button:backdrop:active, 
button.suggested-action.flat:backdrop:checked, button.suggested-action.sidebar-button:backdrop:checked {
+      border-width: 2px;
+      border-style: solid;
       color: black;
-      background-color: #b56f26;
-      border-color: #1c5187; }
-    button.suggested-action:backdrop {
+      background-color: #737373;
+      border-color: #737373;
+      background-image: none; }
+    button.suggested-action:backdrop:disabled, button.suggested-action.flat:backdrop:disabled, 
button.suggested-action.sidebar-button:backdrop:disabled {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #4a90d9;
-      border-color: #4a90d9;
-      background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-      button.suggested-action:backdrop:disabled {
+      color: gray;
+      background-color: #070707;
+      border-color: #494949;
+      background-image: none; }
+      button.suggested-action:backdrop:disabled:active, button.suggested-action:backdrop:disabled:checked, 
button.suggested-action.flat:backdrop:disabled:active, 
button.suggested-action.sidebar-button:backdrop:disabled:active, 
button.suggested-action.flat:backdrop:disabled:checked, 
button.suggested-action.sidebar-button:backdrop:disabled:checked {
         border-width: 2px;
         border-style: solid;
         color: gray;
-        background-color: #070707;
         border-color: #494949;
-        background-image: none; }
-    button.suggested-action:disabled {
+        background-image: none;
+        background-color: #090909; }
+  button.suggested-action.flat:backdrop, button.suggested-action.sidebar-button:backdrop, 
button.suggested-action.flat:disabled, button.suggested-action.sidebar-button:disabled, 
button.suggested-action.flat:backdrop:disabled, button.suggested-action.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(170, 170, 170, 0.8); }
+  button.suggested-action:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: gray;
+    background-color: #070707;
+    border-color: #494949;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.suggested-action:disabled:active, button.suggested-action:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
-      background-color: #070707;
       border-color: #494949;
       background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-  button.destructive-action {
+      background-color: #070707; }
+  .osd button.suggested-action {
     border-width: 2px;
     border-style: solid;
-    color: white;
+    color: #fff;
     background-image: none;
-    background-color: #ef2929;
-    border-color: #8e0b0b; }
-    button.destructive-action:hover {
+    background-color: rgba(0, 0, 0, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+    .osd button.suggested-action:hover {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #ef2929;
-      border-color: #8e0b0b;
-      background-image: none; }
-    button.destructive-action:active, button.destructive-action:checked {
+      color: #fff;
+      background-color: rgba(77, 77, 77, 0.8);
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    .osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd 
button.suggested-action:checked:backdrop, .osd button.suggested-action:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: rgba(0, 0, 0, 0.8);
+      background-color: #fff;
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    .osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled {
+      border-width: 2px;
+      border-style: solid;
+      border-color: rgba(255, 255, 255, 0.2);
+      color: gray; }
+    .osd button.suggested-action:backdrop {
+      border-width: 2px;
+      border-style: solid; }
+button.destructive-action {
+  border-width: 2px;
+  border-style: solid;
+  color: white;
+  background-image: none;
+  background-color: #ef2929;
+  border-color: #8e0b0b; }
+  button.destructive-action.flat, button.destructive-action.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    color: #ef2929; }
+  button.destructive-action:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #ef2929;
+    border-color: #8e0b0b;
+    background-image: none; }
+  button.destructive-action:active, button.destructive-action:checked {
+    border-width: 2px;
+    border-style: solid;
+    background-image: none;
+    color: black;
+    background-color: #10d6d6;
+    border-color: #8e0b0b; }
+  button.destructive-action:backdrop, button.destructive-action.flat:backdrop, 
button.destructive-action.sidebar-button:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #ef2929;
+    border-color: #ef2929;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.destructive-action:backdrop:active, button.destructive-action:backdrop:checked, 
button.destructive-action.flat:backdrop:active, button.destructive-action.sidebar-button:backdrop:active, 
button.destructive-action.flat:backdrop:checked, button.destructive-action.sidebar-button:backdrop:checked {
       border-width: 2px;
       border-style: solid;
-      background-image: none;
       color: black;
-      background-color: #10d6d6;
-      border-color: #8e0b0b; }
-    button.destructive-action:backdrop {
+      background-color: #737373;
+      border-color: #737373;
+      background-image: none; }
+    button.destructive-action:backdrop:disabled, button.destructive-action.flat:backdrop:disabled, 
button.destructive-action.sidebar-button:backdrop:disabled {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #ef2929;
-      border-color: #ef2929;
-      background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-      button.destructive-action:backdrop:disabled {
+      color: gray;
+      background-color: #070707;
+      border-color: #494949;
+      background-image: none; }
+      button.destructive-action:backdrop:disabled:active, 
button.destructive-action:backdrop:disabled:checked, button.destructive-action.flat:backdrop:disabled:active, 
button.destructive-action.sidebar-button:backdrop:disabled:active, 
button.destructive-action.flat:backdrop:disabled:checked, 
button.destructive-action.sidebar-button:backdrop:disabled:checked {
         border-width: 2px;
         border-style: solid;
         color: gray;
-        background-color: #070707;
         border-color: #494949;
-        background-image: none; }
-    button.destructive-action:disabled {
+        background-image: none;
+        background-color: #090909; }
+  button.destructive-action.flat:backdrop, button.destructive-action.sidebar-button:backdrop, 
button.destructive-action.flat:disabled, button.destructive-action.sidebar-button:disabled, 
button.destructive-action.flat:backdrop:disabled, button.destructive-action.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(239, 41, 41, 0.8); }
+  button.destructive-action:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: gray;
+    background-color: #070707;
+    border-color: #494949;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.destructive-action:disabled:active, button.destructive-action:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
-      background-color: #070707;
       border-color: #494949;
       background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-  popover.background.touch-selection button, popover.background.magnifier button, .csd 
popover.background.touch-selection button, .csd popover.background.magnifier button, .osd button {
+      background-color: #070707; }
+  .osd button.destructive-action {
     border-width: 2px;
     border-style: solid;
     color: #fff;
@@ -565,68 +780,68 @@ button {
     background-color: rgba(0, 0, 0, 0.8);
     border-color: rgba(255, 255, 255, 0.2);
     box-shadow: none; }
-    popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd 
button:hover {
+    .osd button.destructive-action:hover {
       border-width: 2px;
       border-style: solid;
       color: #fff;
       background-color: rgba(77, 77, 77, 0.8);
       border-color: rgba(255, 255, 255, 0.2);
       box-shadow: none; }
-    popover.background.touch-selection button:active:backdrop, popover.background.magnifier 
button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier 
button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier 
button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier 
button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd 
button:checked {
+    .osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd 
button.destructive-action:checked:backdrop, .osd button.destructive-action:checked {
       border-width: 2px;
       border-style: solid;
       color: rgba(0, 0, 0, 0.8);
       background-color: #fff;
       border-color: rgba(255, 255, 255, 0.2);
       box-shadow: none; }
-    popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier 
button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier 
button:disabled, .osd button:disabled:backdrop, .osd button:disabled {
+    .osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled {
       border-width: 2px;
       border-style: solid;
       border-color: rgba(255, 255, 255, 0.2);
       color: gray; }
-    popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd 
button:backdrop {
+    .osd button.destructive-action:backdrop {
       border-width: 2px;
       border-style: solid; }
-    popover.background.touch-selection button.flat, popover.background.touch-selection 
button.sidebar-button, popover.background.magnifier button.flat, popover.background.magnifier 
button.sidebar-button, .osd button.flat, .osd button.sidebar-button {
-      border-width: 2px;
-      border-style: solid;
-      box-shadow: none;
-      text-shadow: 0 1px black;
-      -gtk-icon-shadow: 0 1px black; }
-      popover.background.touch-selection button.flat:hover, popover.background.touch-selection 
button.sidebar-button:hover, popover.background.magnifier button.flat:hover, popover.background.magnifier 
button.sidebar-button:hover, .osd button.flat:hover, .osd button.sidebar-button:hover {
-        border-width: 2px;
-        border-style: solid;
-        color: #fff;
-        background-color: rgba(77, 77, 77, 0.8);
-        border-color: rgba(255, 255, 255, 0.2);
-        box-shadow: none; }
-      popover.background.touch-selection button.flat:disabled, popover.background.touch-selection 
button.sidebar-button:disabled, popover.background.magnifier button.flat:disabled, 
popover.background.magnifier button.sidebar-button:disabled, .osd button.flat:disabled, .osd 
button.sidebar-button:disabled {
-        border-width: 2px;
-        border-style: solid;
-        border-color: rgba(255, 255, 255, 0.2);
-        color: gray;
-        background-image: none;
-        border-color: transparent;
-        box-shadow: none; }
-      popover.background.touch-selection button.flat:backdrop, popover.background.touch-selection 
button.sidebar-button:backdrop, popover.background.magnifier button.flat:backdrop, 
popover.background.magnifier button.sidebar-button:backdrop, .osd button.flat:backdrop, .osd 
button.sidebar-button:backdrop {
-        border-width: 2px;
-        border-style: solid; }
-      popover.background.touch-selection button.flat:active, popover.background.touch-selection 
button.sidebar-button:active, popover.background.magnifier button.flat:active, popover.background.magnifier 
button.sidebar-button:active, popover.background.touch-selection button.flat:checked, 
popover.background.touch-selection button.sidebar-button:checked, popover.background.magnifier 
button.flat:checked, popover.background.magnifier button.sidebar-button:checked, .osd button.flat:active, 
.osd button.sidebar-button:active, .osd button.flat:checked, .osd button.sidebar-button:checked {
-        border-width: 2px;
-        border-style: solid;
-        color: rgba(0, 0, 0, 0.8);
-        background-color: #fff;
-        border-color: rgba(255, 255, 255, 0.2);
-        box-shadow: none; }
-  button.image-button {
-    padding: 8px; }
-  button.text-button {
-    padding: 6px 8px 5px; }
-  .inline-toolbar button, .inline-toolbar button:backdrop {
-    border-radius: 2px;
-    border-width: 1px; }
-  .primary-toolbar button {
-    -gtk-icon-shadow: none; }
+.stack-switcher > button {
+  outline-offset: -3px; }
+  .stack-switcher > button > label {
+    padding-left: 6px;
+    padding-right: 6px; }
+  .stack-switcher > button > image {
+    padding-left: 6px;
+    padding-right: 6px;
+    padding-top: 3px;
+    padding-bottom: 3px; }
+  .stack-switcher > button.text-button {
+    padding-left: 10px;
+    padding-right: 10px; }
+  .stack-switcher > button.image-button {
+    padding-left: 2px;
+    padding-right: 2px; }
+  .stack-switcher > button.needs-attention:active > label,
+  .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked 
label,
+  .stack-switcher > button.needs-attention:checked > image {
+    animation: none;
+    background-image: none; }
+.inline-toolbar button, .inline-toolbar button:backdrop {
+  border-radius: 2px;
+  border-width: 1px; }
+.primary-toolbar button {
+  -gtk-icon-shadow: none; }
+
+.stack-switcher > button.needs-attention > label,
+.stack-switcher > button.needs-attention > image, stacksidebar row.needs-attention > label {
+  animation: needs_attention 150ms ease-in;
+  background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#aaa), to(transparent)), 
-gtk-gradient(radial, center center, 0, center center, 0.45, to(_text_shadow_color()), to(transparent));
+  background-size: 6px 6px, 6px 6px;
+  background-repeat: no-repeat;
+  background-position: right 3px, right 2px; }
+  .stack-switcher > button.needs-attention > label:backdrop,
+  .stack-switcher > button.needs-attention > image:backdrop, stacksidebar row.needs-attention > 
label:backdrop {
+    background-size: 6px 6px, 0 0; }
+  .stack-switcher > button.needs-attention > label:dir(rtl),
+  .stack-switcher > button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > 
label:dir(rtl) {
+    background-position: left 3px, left 2px; }
 
 .inline-toolbar toolbutton > button {
   border-width: 2px;
@@ -642,7 +857,7 @@ button {
     background-color: #000;
     border-color: gray;
     background-image: none; }
-  .inline-toolbar toolbutton > button:active {
+  .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked {
     border-width: 2px;
     border-style: solid;
     background-image: none;
@@ -658,13 +873,13 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-  .inline-toolbar toolbutton > button:disabled:active {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    border-color: #494949;
-    background-image: none;
-    background-color: #070707; }
+    .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > 
button:disabled:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: gray;
+      border-color: #494949;
+      background-image: none;
+      background-color: #070707; }
   .inline-toolbar toolbutton > button:backdrop {
     border-width: 2px;
     border-style: solid;
@@ -674,97 +889,83 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-  .inline-toolbar toolbutton > button:backdrop:active {
-    border-width: 2px;
-    border-style: solid;
-    color: black;
-    background-color: #737373;
-    border-color: #737373;
-    background-image: none; }
-  .inline-toolbar toolbutton > button:backdrop:disabled {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    background-color: #070707;
-    border-color: #494949;
-    background-image: none; }
-  .inline-toolbar toolbutton > button:backdrop:disabled:active {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    border-color: #494949;
-    background-image: none;
-    background-color: #090909; }
-
-toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton > button.sidebar-button, searchbar.inline-toolbar toolbutton > 
button.sidebar-button {
-  border-radius: 0;
-  border-left-style: none; }
-toolbar.inline-toolbar toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child 
button.flat, toolbar.inline-toolbar toolbutton:first-child > button.sidebar-button, 
searchbar.inline-toolbar toolbutton:first-child > button.sidebar-button {
-  border-radius: 3px 0 0 3px;
-  border-left-style: solid; }
-toolbar.inline-toolbar toolbutton:last-child > button.flat, searchbar.inline-toolbar toolbutton:last-child > 
button.flat, toolbar.inline-toolbar toolbutton:last-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:last-child > button.sidebar-button {
-  border-radius: 0 3px 3px 0; }
-toolbar.inline-toolbar toolbutton:last-child:dir(rtl) > button.flat, searchbar.inline-toolbar 
toolbutton:last-child:dir(rtl) > button.flat, toolbar.inline-toolbar toolbutton:last-child:dir(rtl) > 
button.sidebar-button, searchbar.inline-toolbar toolbutton:last-child:dir(rtl) > button.sidebar-button {
-  border-right-style: solid; }
-toolbar.inline-toolbar toolbutton:only-child > button.flat, searchbar.inline-toolbar toolbutton:only-child > 
button.flat, toolbar.inline-toolbar toolbutton:only-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:only-child > button.sidebar-button {
-  border-radius: 3px;
-  border-style: solid; }
-
-stacksidebar row.needs-attention > label {
-  animation: needs_attention 150ms ease-in;
-  background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#aaa), to(transparent)), 
-gtk-gradient(radial, center center, 0, center center, 0.5, to(#fff), to(transparent));
-  background-size: 6px 6px, 6px 6px;
-  background-repeat: no-repeat;
-  background-position: right 3px, right 4px; }
-  stacksidebar row.needs-attention > label:backdrop {
-    background-size: 6px 6px, 0 0; }
-  stacksidebar row.needs-attention > label:dir(rtl) {
-    background-position: left 3px, left 4px; }
-
-.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) >
-entry, .inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, 
.linked > button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > 
button.combo:dir(ltr) {
+    .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > 
button:backdrop:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: black;
+      background-color: #737373;
+      border-color: #737373;
+      background-image: none; }
+    .inline-toolbar toolbutton > button:backdrop:disabled {
+      border-width: 2px;
+      border-style: solid;
+      color: gray;
+      background-color: #070707;
+      border-color: #494949;
+      background-image: none; }
+      .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked {
+        border-width: 2px;
+        border-style: solid;
+        color: gray;
+        border-color: #494949;
+        background-image: none;
+        background-color: #090909; }
+
+toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton > button.sidebar-button, searchbar.inline-toolbar toolbutton > 
button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop > button.sidebar-button, .linked:not(.vertical) > 
spinbutton:not(.vertical), .linked:not(.vertical) >
+entry, .inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, 
.linked > button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) {
   border-radius: 0;
-  border-left-style: none; }
-  .linked:not(.vertical) > spinbutton:dir(rtl):not(.vertical), .linked:not(.vertical) >
-  entry:dir(rtl), .inline-toolbar button:dir(rtl), .linked > button:dir(rtl), .linked > combobox > 
button.combo:dir(rtl) {
-    border-radius: 0;
-    border-right-style: none;
-    border-left-style: solid; }
+  border-right-style: none; }
 
 .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) >
-entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, .linked > 
combobox:first-child > button.combo {
-  border-radius: 3px 0 0 3px;
-  border-left-style: solid; }
+entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:first-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:first-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:first-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:first-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:first-child > button.sidebar-button, combobox.linked 
button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo {
+  border-top-left-radius: 3px;
+  border-bottom-left-radius: 3px; }
 .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) >
-entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, .linked > 
combobox:last-child > button.combo {
-  border-radius: 0 3px 3px 0; }
-  .linked:not(.vertical) > spinbutton:last-child:dir(rtl):not(.vertical), .linked:not(.vertical) >
-  entry:last-child:dir(rtl), .inline-toolbar button:last-child:dir(rtl), .linked > 
button:last-child:dir(rtl), .linked > combobox:last-child > button.combo:dir(rtl) {
-    border-right-style: solid; }
+entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar 
toolbutton:last-child > button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, 
toolbar.inline-toolbar toolbutton:last-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:last-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:last-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:last-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:last-child > button.sidebar-button, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo {
+  border-top-right-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-right-style: solid; }
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) >
-entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, .linked > 
combobox:only-child > button.combo {
+entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar 
toolbutton:only-child > button.flat, searchbar.inline-toolbar toolbutton:only-child > button.flat, 
toolbar.inline-toolbar toolbutton:only-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:only-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:only-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:only-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:only-child > button.sidebar-button, .linked:not(.vertical) > 
combobox:only-child > box > button.combo {
   border-radius: 3px;
   border-style: solid; }
 
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical >
-entry, .linked.vertical > button, .linked.vertical > button:hover, .linked.vertical > button:active, 
.linked.vertical > button:checked, .linked.vertical > button:backdrop, .linked.vertical > combobox > 
button.combo {
-  border-left-style: solid;
-  border-top-style: none;
+entry, .linked.vertical > button, .linked.vertical > button:hover, .linked.vertical > button:active, 
.linked.vertical > button:checked, .linked.vertical > button:backdrop, .linked.vertical > combobox > box > 
button.combo {
+  border-style: solid solid none solid;
   border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical >
-entry:first-child, .linked.vertical > button:first-child, .linked.vertical > combobox:first-child > 
button.combo {
-  border-style: solid;
-  border-radius: 3px 3px 0 0; }
+entry:first-child, .linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > 
button.combo {
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px; }
 .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical >
-entry:last-child, .linked.vertical > button:last-child, .linked.vertical > combobox:last-child > 
button.combo {
-  border-radius: 0 0 3px 3px; }
+entry:last-child, .linked.vertical > button:last-child, .linked.vertical > combobox:last-child > box > 
button.combo {
+  border-bottom-left-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-style: solid; }
 .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical >
-entry:only-child, .linked.vertical > button:only-child, .linked.vertical > combobox:only-child > 
button.combo {
+entry:only-child, .linked.vertical > button:only-child, .linked.vertical > combobox:only-child > box > 
button.combo {
   border-radius: 3px;
   border-style: solid; }
 
-button.flat, button.sidebar-button, button.flat:backdrop, button.sidebar-button:backdrop, 
button.flat:disabled:backdrop, button.sidebar-button:disabled:backdrop, modelbutton.flat, popover.background 
checkbutton,
+modelbutton.flat, popover.background checkbutton,
 popover.background radiobutton,
 .menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop,
 popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background 
checkbutton:backdrop:hover,
@@ -779,9 +980,10 @@ row.activatable:backdrop:disabled:active,
 row.activatable:backdrop:disabled:checked,
 row.activatable:disabled:active,
 row.activatable:disabled:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, 
calendar.button:backdrop:hover {
-  border-color: transparent;
   background-color: transparent;
   background-image: none;
+  border-color: transparent;
+  box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0);
   text-shadow: none;
   -gtk-icon-shadow: none; }
 
@@ -1000,40 +1202,12 @@ treeview spinbutton entry:focus {
 /**************
  * ComboBoxes *
  **************/
-combobox {
-  text-shadow: 0 -1px black;
-  -gtk-icon-shadow: 0 -1px black; }
-  combobox > button.combo {
-    padding-left: 8px;
-    padding-right: 8px; }
-  combobox:disabled {
-    color: gray;
-    text-shadow: none;
-    -gtk-icon-shadow: none; }
-  combobox:backdrop {
-    color: #fff;
-    text-shadow: none;
-    -gtk-icon-shadow: none; }
-  combobox:backdrop:disabled {
-    color: gray; }
-  combobox arrow {
-    -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
-    min-height: 16px;
-    min-width: 16px; }
-  combobox .menuitem {
-    text-shadow: none; }
-  combobox > entry.combo {
-    border-radius: 3px 0 0 3px; }
-    combobox > entry.combo:dir(rtl) {
-      border-radius: 0 3px 3px 0; }
-  combobox > button.combo:not(:only-child):dir(ltr) {
-    border-top-left-radius: 0;
-    border-bottom-left-radius: 0;
-    border-left-style: none; }
-  combobox > button.combo:not(:only-child):dir(rtl) {
-    border-top-right-radius: 0;
-    border-bottom-right-radius: 0;
-    border-right-style: none; }
+combobox arrow {
+  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+  min-height: 16px;
+  min-width: 16px; }
+combobox:drop(active) {
+  box-shadow: none; }
 
 /************
  * Toolbars *
diff --git a/gtk/theme/HighContrast/gtk-contained.css b/gtk/theme/HighContrast/gtk-contained.css
index 56a27a0..c88003b 100644
--- a/gtk/theme/HighContrast/gtk-contained.css
+++ b/gtk/theme/HighContrast/gtk-contained.css
@@ -390,7 +390,16 @@ button {
   background-image: none;
   background-color: #fff;
   border-color: gray; }
-  button:hover, button.flat:hover, button.sidebar-button:hover {
+  button.flat, button.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    transition: none; }
+    button.flat:hover, button.sidebar-button:hover {
+      transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
+      transition-duration: 500ms; }
+      button.flat:hover:active, button.sidebar-button:hover:active {
+        transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+  button:hover {
     border-width: 2px;
     border-style: solid;
     color: #000;
@@ -398,7 +407,7 @@ button {
     border-color: gray;
     background-image: none;
     -gtk-icon-effect: highlight; }
-  button:active, button.flat:active, button.sidebar-button:active, button:checked, button.flat:checked, 
button.sidebar-button:checked {
+  button:active, button:checked {
     border-width: 2px;
     border-style: solid;
     background-image: none;
@@ -406,7 +415,7 @@ button {
     background-color: black;
     border-color: gray;
     transition-duration: 50ms; }
-  button:backdrop, button.flat:backdrop, button.sidebar-button:backdrop {
+  button:backdrop.flat, button.sidebar-button:backdrop, button:backdrop {
     border-width: 2px;
     border-style: solid;
     color: #000;
@@ -414,28 +423,32 @@ button {
     border-color: #8d8d8d;
     background-image: none;
     text-shadow: none;
-    -gtk-icon-shadow: none; }
-    button:backdrop:active, button:backdrop:checked, button.flat:backdrop:active, 
button.sidebar-button:backdrop:active, button.flat:backdrop:checked, button.sidebar-button:backdrop:checked {
+    -gtk-icon-shadow: none;
+    -gtk-icon-effect: none; }
+    button:backdrop.flat:active, button.sidebar-button:backdrop:active, button:backdrop.flat:checked, 
button.sidebar-button:backdrop:checked, button:backdrop:active, button:backdrop:checked {
       border-width: 2px;
       border-style: solid;
       color: white;
       background-color: #8d8d8d;
       border-color: #8d8d8d;
       background-image: none; }
-    button:backdrop:disabled, button.flat:backdrop:disabled, button.sidebar-button:backdrop:disabled {
+    button:backdrop.flat:disabled, button.sidebar-button:backdrop:disabled, button:backdrop:disabled {
       border-width: 2px;
       border-style: solid;
       color: gray;
       background-color: white;
       border-color: silver;
       background-image: none; }
-    button:backdrop:disabled:active, button.flat:backdrop:disabled:active, 
button.sidebar-button:backdrop:disabled:active {
-      border-width: 2px;
-      border-style: solid;
-      color: gray;
-      border-color: silver;
-      background-image: none;
-      background-color: #f6f6f6; }
+      button:backdrop.flat:disabled:active, button.sidebar-button:backdrop:disabled:active, 
button:backdrop.flat:disabled:checked, button.sidebar-button:backdrop:disabled:checked, 
button:backdrop:disabled:active, button:backdrop:disabled:checked {
+        border-width: 2px;
+        border-style: solid;
+        color: gray;
+        border-color: silver;
+        background-image: none;
+        background-color: #f6f6f6; }
+  button.flat:backdrop, button.sidebar-button:backdrop, button.flat:disabled, 
button.sidebar-button:disabled, button.flat:backdrop:disabled, button.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid; }
   button:disabled {
     border-width: 2px;
     border-style: solid;
@@ -445,7 +458,7 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-    button:disabled:active, button:disabled.flat:active, button.sidebar-button:disabled:active {
+    button:disabled:active, button:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
@@ -465,99 +478,303 @@ button {
     button.text-button.image-button label {
       padding-left: 8px;
       padding-right: 8px; }
-  button.suggested-action {
+  combobox:drop(active) button.combo, button:drop(active) {
+    color: #000;
+    border-color: #000;
+    box-shadow: inset 0 0 0 1px #000; }
+row:selected button {
+  border-color: #000; }
+  row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled), row:selected 
button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled) {
+    color: #fff;
+    border-color: transparent; }
+    row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop, row:selected 
button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop {
+      color: #fff; }
+button.osd {
+  color: #fff;
+  border-radius: 5px;
+  outline-color: rgba(255, 255, 255, 0.3);
+  border-width: 2px;
+  border-style: solid;
+  color: #fff;
+  background-image: none;
+  background-color: rgba(0, 0, 0, 0.8);
+  border-color: rgba(255, 255, 255, 0.2);
+  box-shadow: none;
+  border: none;
+  box-shadow: none; }
+  button.osd.image-button {
+    min-height: 48px;
+    min-width: 48px; }
+  button.osd:hover {
     border-width: 2px;
     border-style: solid;
-    color: white;
-    background-image: none;
-    background-color: #4a90d9;
-    border-color: #1c5187; }
-    button.suggested-action:hover {
+    color: #fff;
+    background-color: rgba(77, 77, 77, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none;
+    border: none;
+    box-shadow: none; }
+  button.osd:active, button.osd:checked {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(0, 0, 0, 0.8);
+    background-color: #fff;
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none;
+    border: none;
+    box-shadow: none; }
+  button.osd:disabled:backdrop, button.osd:disabled {
+    border-width: 2px;
+    border-style: solid;
+    border-color: rgba(255, 255, 255, 0.2);
+    color: gray;
+    border: none; }
+  button.osd:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    border: none; }
+popover.background.touch-selection button, popover.background.magnifier button, .csd 
popover.background.touch-selection button, .csd popover.background.magnifier button, .osd button {
+  border-width: 2px;
+  border-style: solid;
+  color: #fff;
+  background-image: none;
+  background-color: rgba(0, 0, 0, 0.8);
+  border-color: rgba(255, 255, 255, 0.2);
+  box-shadow: none; }
+  popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd 
button:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: #fff;
+    background-color: rgba(77, 77, 77, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+  popover.background.touch-selection button:active:backdrop, popover.background.magnifier 
button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier 
button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier 
button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier 
button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd 
button:checked {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(0, 0, 0, 0.8);
+    background-color: #fff;
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+  popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier 
button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier 
button:disabled, .osd button:disabled:backdrop, .osd button:disabled {
+    border-width: 2px;
+    border-style: solid;
+    border-color: rgba(255, 255, 255, 0.2);
+    color: gray; }
+  popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd 
button:backdrop {
+    border-width: 2px;
+    border-style: solid; }
+  popover.background.touch-selection button.flat, popover.background.touch-selection button.sidebar-button, 
popover.background.magnifier button.flat, popover.background.magnifier button.sidebar-button, .osd 
button.flat, .osd button.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    box-shadow: none;
+    text-shadow: 0 1px black;
+    -gtk-icon-shadow: 0 1px black; }
+    popover.background.touch-selection button.flat:hover, popover.background.touch-selection 
button.sidebar-button:hover, popover.background.magnifier button.flat:hover, popover.background.magnifier 
button.sidebar-button:hover, .osd button.flat:hover, .osd button.sidebar-button:hover {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #4a90d9;
-      border-color: #1c5187;
-      background-image: none; }
-    button.suggested-action:active, button.suggested-action:checked {
+      color: #fff;
+      background-color: rgba(77, 77, 77, 0.8);
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    popover.background.touch-selection button.flat:disabled, popover.background.touch-selection 
button.sidebar-button:disabled, popover.background.magnifier button.flat:disabled, 
popover.background.magnifier button.sidebar-button:disabled, .osd button.flat:disabled, .osd 
button.sidebar-button:disabled {
       border-width: 2px;
       border-style: solid;
+      border-color: rgba(255, 255, 255, 0.2);
+      color: gray;
       background-image: none;
-      color: black;
-      background-color: #b56f26;
-      border-color: #1c5187; }
-    button.suggested-action:backdrop {
+      border-color: transparent;
+      box-shadow: none; }
+    popover.background.touch-selection button.flat:backdrop, popover.background.touch-selection 
button.sidebar-button:backdrop, popover.background.magnifier button.flat:backdrop, 
popover.background.magnifier button.sidebar-button:backdrop, .osd button.flat:backdrop, .osd 
button.sidebar-button:backdrop {
+      border-width: 2px;
+      border-style: solid; }
+    popover.background.touch-selection button.flat:active, popover.background.touch-selection 
button.sidebar-button:active, popover.background.magnifier button.flat:active, popover.background.magnifier 
button.sidebar-button:active, popover.background.touch-selection button.flat:checked, 
popover.background.touch-selection button.sidebar-button:checked, popover.background.magnifier 
button.flat:checked, popover.background.magnifier button.sidebar-button:checked, .osd button.flat:active, 
.osd button.sidebar-button:active, .osd button.flat:checked, .osd button.sidebar-button:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: rgba(0, 0, 0, 0.8);
+      background-color: #fff;
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+button.suggested-action {
+  border-width: 2px;
+  border-style: solid;
+  color: white;
+  background-image: none;
+  background-color: #000;
+  border-color: black; }
+  button.suggested-action.flat, button.suggested-action.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    color: #000; }
+  button.suggested-action:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #000;
+    border-color: black;
+    background-image: none; }
+  button.suggested-action:active, button.suggested-action:checked {
+    border-width: 2px;
+    border-style: solid;
+    background-image: none;
+    color: black;
+    background-color: white;
+    border-color: black; }
+  button.suggested-action:backdrop, button.suggested-action.flat:backdrop, 
button.suggested-action.sidebar-button:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #000;
+    border-color: #000;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.suggested-action:backdrop:active, button.suggested-action:backdrop:checked, 
button.suggested-action.flat:backdrop:active, button.suggested-action.sidebar-button:backdrop:active, 
button.suggested-action.flat:backdrop:checked, button.suggested-action.sidebar-button:backdrop:checked {
       border-width: 2px;
       border-style: solid;
       color: white;
-      background-color: #4a90d9;
-      border-color: #4a90d9;
-      background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-      button.suggested-action:backdrop:disabled {
+      background-color: #8d8d8d;
+      border-color: #8d8d8d;
+      background-image: none; }
+    button.suggested-action:backdrop:disabled, button.suggested-action.flat:backdrop:disabled, 
button.suggested-action.sidebar-button:backdrop:disabled {
+      border-width: 2px;
+      border-style: solid;
+      color: gray;
+      background-color: white;
+      border-color: silver;
+      background-image: none; }
+      button.suggested-action:backdrop:disabled:active, button.suggested-action:backdrop:disabled:checked, 
button.suggested-action.flat:backdrop:disabled:active, 
button.suggested-action.sidebar-button:backdrop:disabled:active, 
button.suggested-action.flat:backdrop:disabled:checked, 
button.suggested-action.sidebar-button:backdrop:disabled:checked {
         border-width: 2px;
         border-style: solid;
         color: gray;
-        background-color: white;
         border-color: silver;
-        background-image: none; }
-    button.suggested-action:disabled {
+        background-image: none;
+        background-color: #f6f6f6; }
+  button.suggested-action.flat:backdrop, button.suggested-action.sidebar-button:backdrop, 
button.suggested-action.flat:disabled, button.suggested-action.sidebar-button:disabled, 
button.suggested-action.flat:backdrop:disabled, button.suggested-action.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(0, 0, 0, 0.8); }
+  button.suggested-action:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: gray;
+    background-color: white;
+    border-color: silver;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.suggested-action:disabled:active, button.suggested-action:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
-      background-color: white;
       border-color: silver;
       background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-  button.destructive-action {
+      background-color: white; }
+  .osd button.suggested-action {
     border-width: 2px;
     border-style: solid;
-    color: white;
+    color: #fff;
     background-image: none;
+    background-color: rgba(0, 0, 0, 0.8);
+    border-color: rgba(255, 255, 255, 0.2);
+    box-shadow: none; }
+    .osd button.suggested-action:hover {
+      border-width: 2px;
+      border-style: solid;
+      color: #fff;
+      background-color: rgba(77, 77, 77, 0.8);
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    .osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd 
button.suggested-action:checked:backdrop, .osd button.suggested-action:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: rgba(0, 0, 0, 0.8);
+      background-color: #fff;
+      border-color: rgba(255, 255, 255, 0.2);
+      box-shadow: none; }
+    .osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled {
+      border-width: 2px;
+      border-style: solid;
+      border-color: rgba(255, 255, 255, 0.2);
+      color: gray; }
+    .osd button.suggested-action:backdrop {
+      border-width: 2px;
+      border-style: solid; }
+button.destructive-action {
+  border-width: 2px;
+  border-style: solid;
+  color: white;
+  background-image: none;
+  background-color: #ef2929;
+  border-color: #8e0b0b; }
+  button.destructive-action.flat, button.destructive-action.sidebar-button {
+    border-width: 2px;
+    border-style: solid;
+    color: #ef2929; }
+  button.destructive-action:hover {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
     background-color: #ef2929;
+    border-color: #8e0b0b;
+    background-image: none; }
+  button.destructive-action:active, button.destructive-action:checked {
+    border-width: 2px;
+    border-style: solid;
+    background-image: none;
+    color: black;
+    background-color: #10d6d6;
     border-color: #8e0b0b; }
-    button.destructive-action:hover {
+  button.destructive-action:backdrop, button.destructive-action.flat:backdrop, 
button.destructive-action.sidebar-button:backdrop {
+    border-width: 2px;
+    border-style: solid;
+    color: white;
+    background-color: #ef2929;
+    border-color: #ef2929;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.destructive-action:backdrop:active, button.destructive-action:backdrop:checked, 
button.destructive-action.flat:backdrop:active, button.destructive-action.sidebar-button:backdrop:active, 
button.destructive-action.flat:backdrop:checked, button.destructive-action.sidebar-button:backdrop:checked {
       border-width: 2px;
       border-style: solid;
       color: white;
-      background-color: #ef2929;
-      border-color: #8e0b0b;
+      background-color: #8d8d8d;
+      border-color: #8d8d8d;
       background-image: none; }
-    button.destructive-action:active, button.destructive-action:checked {
-      border-width: 2px;
-      border-style: solid;
-      background-image: none;
-      color: black;
-      background-color: #10d6d6;
-      border-color: #8e0b0b; }
-    button.destructive-action:backdrop {
+    button.destructive-action:backdrop:disabled, button.destructive-action.flat:backdrop:disabled, 
button.destructive-action.sidebar-button:backdrop:disabled {
       border-width: 2px;
       border-style: solid;
-      color: white;
-      background-color: #ef2929;
-      border-color: #ef2929;
-      background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-      button.destructive-action:backdrop:disabled {
+      color: gray;
+      background-color: white;
+      border-color: silver;
+      background-image: none; }
+      button.destructive-action:backdrop:disabled:active, 
button.destructive-action:backdrop:disabled:checked, button.destructive-action.flat:backdrop:disabled:active, 
button.destructive-action.sidebar-button:backdrop:disabled:active, 
button.destructive-action.flat:backdrop:disabled:checked, 
button.destructive-action.sidebar-button:backdrop:disabled:checked {
         border-width: 2px;
         border-style: solid;
         color: gray;
-        background-color: white;
         border-color: silver;
-        background-image: none; }
-    button.destructive-action:disabled {
+        background-image: none;
+        background-color: #f6f6f6; }
+  button.destructive-action.flat:backdrop, button.destructive-action.sidebar-button:backdrop, 
button.destructive-action.flat:disabled, button.destructive-action.sidebar-button:disabled, 
button.destructive-action.flat:backdrop:disabled, button.destructive-action.sidebar-button:backdrop:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: rgba(239, 41, 41, 0.8); }
+  button.destructive-action:disabled {
+    border-width: 2px;
+    border-style: solid;
+    color: gray;
+    background-color: white;
+    border-color: silver;
+    background-image: none;
+    text-shadow: none;
+    -gtk-icon-shadow: none; }
+    button.destructive-action:disabled:active, button.destructive-action:disabled:checked {
       border-width: 2px;
       border-style: solid;
       color: gray;
-      background-color: white;
       border-color: silver;
       background-image: none;
-      text-shadow: none;
-      -gtk-icon-shadow: none; }
-  popover.background.touch-selection button, popover.background.magnifier button, .csd 
popover.background.touch-selection button, .csd popover.background.magnifier button, .osd button {
+      background-color: white; }
+  .osd button.destructive-action {
     border-width: 2px;
     border-style: solid;
     color: #fff;
@@ -565,68 +782,68 @@ button {
     background-color: rgba(0, 0, 0, 0.8);
     border-color: rgba(255, 255, 255, 0.2);
     box-shadow: none; }
-    popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd 
button:hover {
+    .osd button.destructive-action:hover {
       border-width: 2px;
       border-style: solid;
       color: #fff;
       background-color: rgba(77, 77, 77, 0.8);
       border-color: rgba(255, 255, 255, 0.2);
       box-shadow: none; }
-    popover.background.touch-selection button:active:backdrop, popover.background.magnifier 
button:active:backdrop, popover.background.touch-selection button:active, popover.background.magnifier 
button:active, popover.background.touch-selection button:checked:backdrop, popover.background.magnifier 
button:checked:backdrop, popover.background.touch-selection button:checked, popover.background.magnifier 
button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd 
button:checked {
+    .osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd 
button.destructive-action:checked:backdrop, .osd button.destructive-action:checked {
       border-width: 2px;
       border-style: solid;
       color: rgba(0, 0, 0, 0.8);
       background-color: #fff;
       border-color: rgba(255, 255, 255, 0.2);
       box-shadow: none; }
-    popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier 
button:disabled:backdrop, popover.background.touch-selection button:disabled, popover.background.magnifier 
button:disabled, .osd button:disabled:backdrop, .osd button:disabled {
+    .osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled {
       border-width: 2px;
       border-style: solid;
       border-color: rgba(255, 255, 255, 0.2);
       color: gray; }
-    popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd 
button:backdrop {
+    .osd button.destructive-action:backdrop {
       border-width: 2px;
       border-style: solid; }
-    popover.background.touch-selection button.flat, popover.background.touch-selection 
button.sidebar-button, popover.background.magnifier button.flat, popover.background.magnifier 
button.sidebar-button, .osd button.flat, .osd button.sidebar-button {
-      border-width: 2px;
-      border-style: solid;
-      box-shadow: none;
-      text-shadow: 0 1px black;
-      -gtk-icon-shadow: 0 1px black; }
-      popover.background.touch-selection button.flat:hover, popover.background.touch-selection 
button.sidebar-button:hover, popover.background.magnifier button.flat:hover, popover.background.magnifier 
button.sidebar-button:hover, .osd button.flat:hover, .osd button.sidebar-button:hover {
-        border-width: 2px;
-        border-style: solid;
-        color: #fff;
-        background-color: rgba(77, 77, 77, 0.8);
-        border-color: rgba(255, 255, 255, 0.2);
-        box-shadow: none; }
-      popover.background.touch-selection button.flat:disabled, popover.background.touch-selection 
button.sidebar-button:disabled, popover.background.magnifier button.flat:disabled, 
popover.background.magnifier button.sidebar-button:disabled, .osd button.flat:disabled, .osd 
button.sidebar-button:disabled {
-        border-width: 2px;
-        border-style: solid;
-        border-color: rgba(255, 255, 255, 0.2);
-        color: gray;
-        background-image: none;
-        border-color: transparent;
-        box-shadow: none; }
-      popover.background.touch-selection button.flat:backdrop, popover.background.touch-selection 
button.sidebar-button:backdrop, popover.background.magnifier button.flat:backdrop, 
popover.background.magnifier button.sidebar-button:backdrop, .osd button.flat:backdrop, .osd 
button.sidebar-button:backdrop {
-        border-width: 2px;
-        border-style: solid; }
-      popover.background.touch-selection button.flat:active, popover.background.touch-selection 
button.sidebar-button:active, popover.background.magnifier button.flat:active, popover.background.magnifier 
button.sidebar-button:active, popover.background.touch-selection button.flat:checked, 
popover.background.touch-selection button.sidebar-button:checked, popover.background.magnifier 
button.flat:checked, popover.background.magnifier button.sidebar-button:checked, .osd button.flat:active, 
.osd button.sidebar-button:active, .osd button.flat:checked, .osd button.sidebar-button:checked {
-        border-width: 2px;
-        border-style: solid;
-        color: rgba(0, 0, 0, 0.8);
-        background-color: #fff;
-        border-color: rgba(255, 255, 255, 0.2);
-        box-shadow: none; }
-  button.image-button {
-    padding: 8px; }
-  button.text-button {
-    padding: 6px 8px 5px; }
-  .inline-toolbar button, .inline-toolbar button:backdrop {
-    border-radius: 2px;
-    border-width: 1px; }
-  .primary-toolbar button {
-    -gtk-icon-shadow: none; }
+.stack-switcher > button {
+  outline-offset: -3px; }
+  .stack-switcher > button > label {
+    padding-left: 6px;
+    padding-right: 6px; }
+  .stack-switcher > button > image {
+    padding-left: 6px;
+    padding-right: 6px;
+    padding-top: 3px;
+    padding-bottom: 3px; }
+  .stack-switcher > button.text-button {
+    padding-left: 10px;
+    padding-right: 10px; }
+  .stack-switcher > button.image-button {
+    padding-left: 2px;
+    padding-right: 2px; }
+  .stack-switcher > button.needs-attention:active > label,
+  .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked 
label,
+  .stack-switcher > button.needs-attention:checked > image {
+    animation: none;
+    background-image: none; }
+.inline-toolbar button, .inline-toolbar button:backdrop {
+  border-radius: 2px;
+  border-width: 1px; }
+.primary-toolbar button {
+  -gtk-icon-shadow: none; }
+
+.stack-switcher > button.needs-attention > label,
+.stack-switcher > button.needs-attention > image, stacksidebar row.needs-attention > label {
+  animation: needs_attention 150ms ease-in;
+  background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#000), to(transparent)), 
-gtk-gradient(radial, center center, 0, center center, 0.5, to(_text_shadow_color()), to(transparent));
+  background-size: 6px 6px, 6px 6px;
+  background-repeat: no-repeat;
+  background-position: right 3px, right 4px; }
+  .stack-switcher > button.needs-attention > label:backdrop,
+  .stack-switcher > button.needs-attention > image:backdrop, stacksidebar row.needs-attention > 
label:backdrop {
+    background-size: 6px 6px, 0 0; }
+  .stack-switcher > button.needs-attention > label:dir(rtl),
+  .stack-switcher > button.needs-attention > image:dir(rtl), stacksidebar row.needs-attention > 
label:dir(rtl) {
+    background-position: left 3px, left 4px; }
 
 .inline-toolbar toolbutton > button {
   border-width: 2px;
@@ -642,7 +859,7 @@ button {
     background-color: #fff;
     border-color: gray;
     background-image: none; }
-  .inline-toolbar toolbutton > button:active {
+  .inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked {
     border-width: 2px;
     border-style: solid;
     background-image: none;
@@ -658,13 +875,13 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-  .inline-toolbar toolbutton > button:disabled:active {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    border-color: silver;
-    background-image: none;
-    background-color: white; }
+    .inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > 
button:disabled:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: gray;
+      border-color: silver;
+      background-image: none;
+      background-color: white; }
   .inline-toolbar toolbutton > button:backdrop {
     border-width: 2px;
     border-style: solid;
@@ -674,97 +891,83 @@ button {
     background-image: none;
     text-shadow: none;
     -gtk-icon-shadow: none; }
-  .inline-toolbar toolbutton > button:backdrop:active {
-    border-width: 2px;
-    border-style: solid;
-    color: white;
-    background-color: #8d8d8d;
-    border-color: #8d8d8d;
-    background-image: none; }
-  .inline-toolbar toolbutton > button:backdrop:disabled {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    background-color: white;
-    border-color: silver;
-    background-image: none; }
-  .inline-toolbar toolbutton > button:backdrop:disabled:active {
-    border-width: 2px;
-    border-style: solid;
-    color: gray;
-    border-color: silver;
-    background-image: none;
-    background-color: #f6f6f6; }
-
-toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton > button.sidebar-button, searchbar.inline-toolbar toolbutton > 
button.sidebar-button {
-  border-radius: 0;
-  border-left-style: none; }
-toolbar.inline-toolbar toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child 
button.flat, toolbar.inline-toolbar toolbutton:first-child > button.sidebar-button, 
searchbar.inline-toolbar toolbutton:first-child > button.sidebar-button {
-  border-radius: 3px 0 0 3px;
-  border-left-style: solid; }
-toolbar.inline-toolbar toolbutton:last-child > button.flat, searchbar.inline-toolbar toolbutton:last-child > 
button.flat, toolbar.inline-toolbar toolbutton:last-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:last-child > button.sidebar-button {
-  border-radius: 0 3px 3px 0; }
-toolbar.inline-toolbar toolbutton:last-child:dir(rtl) > button.flat, searchbar.inline-toolbar 
toolbutton:last-child:dir(rtl) > button.flat, toolbar.inline-toolbar toolbutton:last-child:dir(rtl) > 
button.sidebar-button, searchbar.inline-toolbar toolbutton:last-child:dir(rtl) > button.sidebar-button {
-  border-right-style: solid; }
-toolbar.inline-toolbar toolbutton:only-child > button.flat, searchbar.inline-toolbar toolbutton:only-child > 
button.flat, toolbar.inline-toolbar toolbutton:only-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:only-child > button.sidebar-button {
-  border-radius: 3px;
-  border-style: solid; }
-
-stacksidebar row.needs-attention > label {
-  animation: needs_attention 150ms ease-in;
-  background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#000), to(transparent)), 
-gtk-gradient(radial, center center, 0, center center, 0.5, to(#000), to(transparent));
-  background-size: 6px 6px, 6px 6px;
-  background-repeat: no-repeat;
-  background-position: right 3px, right 4px; }
-  stacksidebar row.needs-attention > label:backdrop {
-    background-size: 6px 6px, 0 0; }
-  stacksidebar row.needs-attention > label:dir(rtl) {
-    background-position: left 3px, left 4px; }
-
-.linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) >
-entry, .inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, 
.linked > button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > 
button.combo:dir(ltr) {
+    .inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > 
button:backdrop:checked {
+      border-width: 2px;
+      border-style: solid;
+      color: white;
+      background-color: #8d8d8d;
+      border-color: #8d8d8d;
+      background-image: none; }
+    .inline-toolbar toolbutton > button:backdrop:disabled {
+      border-width: 2px;
+      border-style: solid;
+      color: gray;
+      background-color: white;
+      border-color: silver;
+      background-image: none; }
+      .inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > 
button:backdrop:disabled:checked {
+        border-width: 2px;
+        border-style: solid;
+        color: gray;
+        border-color: silver;
+        background-image: none;
+        background-color: #f6f6f6; }
+
+toolbar.inline-toolbar toolbutton > button.flat, searchbar.inline-toolbar toolbutton > button.flat, 
toolbar.inline-toolbar toolbutton > button.sidebar-button, searchbar.inline-toolbar toolbutton > 
button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop > button.sidebar-button, .linked:not(.vertical) > 
spinbutton:not(.vertical), .linked:not(.vertical) >
+entry, .inline-toolbar button, .inline-toolbar button:backdrop, .linked > button, .linked > button:hover, 
.linked > button:active, .linked > button:checked, .linked > button:backdrop, .linked > combobox > box > 
button.combo:dir(ltr), .linked > combobox > box > button.combo:dir(rtl) {
   border-radius: 0;
-  border-left-style: none; }
-  .linked:not(.vertical) > spinbutton:dir(rtl):not(.vertical), .linked:not(.vertical) >
-  entry:dir(rtl), .inline-toolbar button:dir(rtl), .linked > button:dir(rtl), .linked > combobox > 
button.combo:dir(rtl) {
-    border-radius: 0;
-    border-right-style: none;
-    border-left-style: solid; }
+  border-right-style: none; }
 
 .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) >
-entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, .linked > 
combobox:first-child > button.combo {
-  border-radius: 3px 0 0 3px;
-  border-left-style: solid; }
+entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar 
toolbutton:first-child > button.flat, searchbar.inline-toolbar toolbutton:first-child > button.flat, 
toolbar.inline-toolbar toolbutton:first-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:first-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:first-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:first-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:first-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:first-child > button.sidebar-button, combobox.linked 
button:nth-child(2):dir(rtl), .linked:not(.vertical) > combobox:first-child > box > button.combo {
+  border-top-left-radius: 3px;
+  border-bottom-left-radius: 3px; }
 .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) >
-entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, .linked > 
combobox:last-child > button.combo {
-  border-radius: 0 3px 3px 0; }
-  .linked:not(.vertical) > spinbutton:last-child:dir(rtl):not(.vertical), .linked:not(.vertical) >
-  entry:last-child:dir(rtl), .inline-toolbar button:last-child:dir(rtl), .linked > 
button:last-child:dir(rtl), .linked > combobox:last-child > button.combo:dir(rtl) {
-    border-right-style: solid; }
+entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar 
toolbutton:last-child > button.flat, searchbar.inline-toolbar toolbutton:last-child > button.flat, 
toolbar.inline-toolbar toolbutton:last-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:last-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:last-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:last-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:last-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:last-child > button.sidebar-button, combobox.linked 
button:nth-child(2):dir(ltr), .linked:not(.vertical) > combobox:last-child > box > button.combo {
+  border-top-right-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-right-style: solid; }
 .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) >
-entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, .linked > 
combobox:only-child > button.combo {
+entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar 
toolbutton:only-child > button.flat, searchbar.inline-toolbar toolbutton:only-child > button.flat, 
toolbar.inline-toolbar toolbutton:only-child > button.sidebar-button, searchbar.inline-toolbar 
toolbutton:only-child > button.sidebar-button,
+toolbar.inline-toolbar toolbutton:backdrop:only-child > button.flat,
+searchbar.inline-toolbar toolbutton:backdrop:only-child > button.flat,
+toolbar.inline-toolbar toolbutton:backdrop:only-child > button.sidebar-button,
+searchbar.inline-toolbar toolbutton:backdrop:only-child > button.sidebar-button, .linked:not(.vertical) > 
combobox:only-child > box > button.combo {
   border-radius: 3px;
   border-style: solid; }
 
 .linked.vertical > spinbutton:not(.vertical), .linked.vertical >
-entry, .linked.vertical > button, .linked.vertical > button:hover, .linked.vertical > button:active, 
.linked.vertical > button:checked, .linked.vertical > button:backdrop, .linked.vertical > combobox > 
button.combo {
-  border-left-style: solid;
-  border-top-style: none;
+entry, .linked.vertical > button, .linked.vertical > button:hover, .linked.vertical > button:active, 
.linked.vertical > button:checked, .linked.vertical > button:backdrop, .linked.vertical > combobox > box > 
button.combo {
+  border-style: solid solid none solid;
   border-radius: 0; }
 
 .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical >
-entry:first-child, .linked.vertical > button:first-child, .linked.vertical > combobox:first-child > 
button.combo {
-  border-style: solid;
-  border-radius: 3px 3px 0 0; }
+entry:first-child, .linked.vertical > button:first-child, .linked.vertical > combobox:first-child > box > 
button.combo {
+  border-top-left-radius: 3px;
+  border-top-right-radius: 3px; }
 .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical >
-entry:last-child, .linked.vertical > button:last-child, .linked.vertical > combobox:last-child > 
button.combo {
-  border-radius: 0 0 3px 3px; }
+entry:last-child, .linked.vertical > button:last-child, .linked.vertical > combobox:last-child > box > 
button.combo {
+  border-bottom-left-radius: 3px;
+  border-bottom-right-radius: 3px;
+  border-style: solid; }
 .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical >
-entry:only-child, .linked.vertical > button:only-child, .linked.vertical > combobox:only-child > 
button.combo {
+entry:only-child, .linked.vertical > button:only-child, .linked.vertical > combobox:only-child > box > 
button.combo {
   border-radius: 3px;
   border-style: solid; }
 
-button.flat, button.sidebar-button, button.flat:backdrop, button.sidebar-button:backdrop, 
button.flat:disabled:backdrop, button.sidebar-button:disabled:backdrop, modelbutton.flat, popover.background 
checkbutton,
+modelbutton.flat, popover.background checkbutton,
 popover.background radiobutton,
 .menuitem.button.flat, modelbutton.flat:backdrop, popover.background checkbutton:backdrop,
 popover.background radiobutton:backdrop, modelbutton.flat:backdrop:hover, popover.background 
checkbutton:backdrop:hover,
@@ -779,9 +982,10 @@ row.activatable:backdrop:disabled:active,
 row.activatable:backdrop:disabled:checked,
 row.activatable:disabled:active,
 row.activatable:disabled:checked, calendar.button, calendar.button:hover, calendar.button:backdrop, 
calendar.button:backdrop:hover {
-  border-color: transparent;
   background-color: transparent;
   background-image: none;
+  border-color: transparent;
+  box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0);
   text-shadow: none;
   -gtk-icon-shadow: none; }
 
@@ -1004,40 +1208,12 @@ treeview spinbutton entry:focus {
 /**************
  * ComboBoxes *
  **************/
-combobox {
-  text-shadow: 0 1px white;
-  -gtk-icon-shadow: 0 1px white; }
-  combobox > button.combo {
-    padding-left: 8px;
-    padding-right: 8px; }
-  combobox:disabled {
-    color: gray;
-    text-shadow: none;
-    -gtk-icon-shadow: none; }
-  combobox:backdrop {
-    color: #000;
-    text-shadow: none;
-    -gtk-icon-shadow: none; }
-  combobox:backdrop:disabled {
-    color: gray; }
-  combobox arrow {
-    -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
-    min-height: 16px;
-    min-width: 16px; }
-  combobox .menuitem {
-    text-shadow: none; }
-  combobox > entry.combo {
-    border-radius: 3px 0 0 3px; }
-    combobox > entry.combo:dir(rtl) {
-      border-radius: 0 3px 3px 0; }
-  combobox > button.combo:not(:only-child):dir(ltr) {
-    border-top-left-radius: 0;
-    border-bottom-left-radius: 0;
-    border-left-style: none; }
-  combobox > button.combo:not(:only-child):dir(rtl) {
-    border-top-right-radius: 0;
-    border-bottom-right-radius: 0;
-    border-right-style: none; }
+combobox arrow {
+  -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
+  min-height: 16px;
+  min-width: 16px; }
+combobox:drop(active) {
+  box-shadow: none; }
 
 /************
  * Toolbars *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]