//  Licensed under the Apache License, Version 2.0 (the "License"); you may not
//  use this file except in compliance with the License. You may obtain a copy of
//  the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
//  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
//  License for the specific language governing permissions and limitations under
//  the License.

pre.prettyprint {
  background: @defaultText;
  border: none;
  font-size: 83%;
  line-height: 1.4;
  margin: 0;
  padding: 16px;
}
.prettyprint {
  .pln, .pun, .typ {
    color: #333;
  }
  .kwd {
    color: #dddddd;
  }
  .str, .lit {
    color: #fff;
  }
  .com {
    color: #666;
  }
}
