@mixin md-base-theme () {
  :not(input):not(textarea)::selection {
    @include md-theme-component-relative() {
      @include md-theme-property(background-color, accent, background);
      @include md-theme-property(color, text-primary, accent);
    }
  }

  a:not(.md-button) {
    @include md-theme-component-relative() {
      @include md-theme-property(color, primary, background);

      &:hover {
        @include md-theme-property(color, primary, background, .8);
      }

      &.md-accent {
        @include md-theme-property(color, accent, background);

        &:hover {
          @include md-theme-property(color, accent, background, .8);
        }
      }
    }
  }

  html {
    @include md-theme-component() {
      @include md-theme-property(background-color, background-variant);
      @include md-theme-property(color, text-primary, background-variant);
    }
  }

  .md-caption,
  .md-display-1,
  .md-display-2,
  .md-display-3,
  .md-display-4 {
    @include md-theme-component-relative() {
      @include md-theme-property(color, text-accent, background-variant);
    }
  }

  .md-scrollbar {
    @include md-theme-component() {
      &::-webkit-scrollbar-corner,
      &::-webkit-scrollbar-track {
        @include md-theme-property(background, scrollbar-background, background-variant);
      }

      &::-webkit-scrollbar-thumb {
        @include md-theme-property(background, scrollbar, background-variant);
      }
    }
  }
}
