html,
body {
  height: 100%;
}
body {
  margin: 0px;
  font-family: 'Open Sans', sans-serif;
  font-size: 13px;
  color: #333333;
  background: url('img/bg.gif');
}
canvas#hidden-canvas {
  position: fixed;
  z-index: -1;
  visibility: hidden;
}
input[type="file"]#file-input {
  position: fixed;
  visibility: hidden;
}
header {
  display: block;
  width: 782px;
  margin: 20px auto 10px auto;
  color: #cccccc;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
}
header img {
  display: inline-block;
  position: relative;
  top: 4px;
  margin: 0px 2px 0px 0px;
}
header span {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  font-size: 18px;
}
header a {
  display: inline-block;
  margin: 0px 0px 0px 15px;
  padding: 5px 10px;
  position: relative;
  bottom: 1px;
  font-size: 12px;
  color: inherit;
  text-decoration: none;
  border-radius: 3px;
}
header a:hover {
  color: white;
  text-shadow: 0px 1px 0px black;
  background: rgba(0, 0, 0, 0.3);
  box-shadow: inset 0px -1px 0px rgba(255, 255, 255, 0.2);
}
div#main-container {
  display: table;
  margin: 0px auto;
  padding: 0px;
  width: 802px;
  height: 100%;
  min-height: 700px;
  overflow: hidden;
}
div#main-container > div {
  display: table-row;
  width: 100%;
}
div#main-container > div > div {
  display: table-cell;
  width: 100%;
}
div#app-container {
  height: 100%;
  margin: 0px;
  padding: 0px;
}
div#app {
  margin: 0px;
  padding: 0px;
  border-radius: 3px;
  overflow: hidden;
  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.8);
  background: #cccccc;
  position: relative;
  height: 100%;
}
div#app div#text-page {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: none;
  opacity: 0;
}
div#app div#text-page a:not(.text-page) {
  color: inherit;
}
div#app div#text-page a:not(.text-page):hover {
  color: black;
}
div#app div#text-page a.text-page {
  display: inline-block;
  margin: 10px;
  padding: 8px 20px;
  color: #333333;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 3px;
  box-shadow: inset 0px 1px 0px white, 0px 1px 0px white;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7);
}
div#app div#text-page a.text-page:hover {
  border: 1px solid #999999;
  color: black;
  background: rgba(0, 0, 0, 0.05);
}
div#app div#text-page span {
  font-weight: 700;
  color: #333333;
}
div#app div#text-page div#content {
  margin: 0px;
  padding: 10px;
  background: #e8e8e8;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.4);
  color: #404040;
}
div#app div#text-page div#content h1 {
  display: block;
  margin: 10px;
  padding: 0px 0px 5px 0px;
  color: #333333;
  font-weight: normal;
  font-size: 18px;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.7);
  border-bottom: 1px dotted rgba(0, 0, 0, 0.4);
}
div#app div#text-page div#content p {
  margin: 10px;
}
div#app div#text-page div#content table#compatibility {
  display: block;
  margin: 10px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  overflow: hidden;
}
div#app div#text-page div#content table#compatibility tr:not(:last-child) td {
  border-bottom: 1px solid #d0d0d0;
}
div#app div#text-page div#content table#compatibility tr td:first-child {
  background: #d0d0d0;
}
div#app div#text-page div#content table#compatibility tr td:last-child {
  font-size: 11px;
  width: 99%;
  padding: 0px 0px 0px 10px;
}
div#app div#text-page div#content table#compatibility tr td.icon {
  padding: 6px 8px 2px 6px;
  border-right: 1px dotted #d0d0d0;
}
div#app div#text-page div#content table#compatibility tr td.icon img.broken {
  opacity: 0.25;
}
div#app form#input h1,
div#app div#output h1 {
  display: block;
  margin: 0px;
  padding: 10px;
  font-size: 14px;
  font-weight: normal;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
}
div#app form#input h1 img,
div#app div#output h1 img {
  margin: -10px 10px 0px 0px;
  position: relative;
  top: 2px;
}
div#app a#advanced-control {
  display: block;
  position: absolute;
  left: 0px;
  bottom: 0px;
  padding: 10px;
  text-decoration: none;
  font-size: 13px;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
  color: #333333;
}
div#app a#advanced-control:visited {
  color: #333333;
}
div#app a#advanced-control:hover {
  color: black;
}
div#app form#input {
  display: block;
  float: left;
  margin: 0px;
  padding: 0px;
  width: 182px;
  position: relative;
  z-index: 50;
}
div#app form#input figure {
  display: block;
  margin: 0px 10px 10px 10px;
  padding: 0px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  box-shadow: -1px 0px 0px rgba(255, 255, 255, 0.7), 1px 0px 0px rgba(255, 255, 255, 0.7), 0px 1px 0px rgba(255, 255, 255, 0.7);
  overflow: hidden;
}
div#app form#input figure:hover canvas {
  opacity: 0.5;
}
div#app form#input figure canvas#canvas {
  display: block;
  margin: 0px;
  padding: 0px;
  width: 160px
				height: 144px;
  background: transparent;
  background: url("img/image-canvas-bg.gif");
}
div#app form#input ul#attributes {
  display: block;
  margin: 0px 0px 10px 0px;
  padding: 10px 0px;
  width: 100%;
  list-style-type: none;
  font-size: 10px;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.7);
}
div#app form#input ul#attributes li span.title {
  display: inline-block;
  margin: 0px;
  padding: 0px;
  width: 50px;
  text-align: right;
  text-shadow: none;
}
div#app form#input ul#attributes li span:not(.title) {
  color: black;
}
div#app form#input ul#options {
  display: block;
  margin: 0px;
  padding: 0px;
  width: 100%;
  list-style-type: none;
  border-top: 1px solid rgba(0, 0, 0, 0.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
div#app form#input ul#options li {
  display: block;
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.7);
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
}
div#app form#input ul#options li:hover {
  background: #bbbbbb;
}
div#app form#input ul#options li:hover label {
  color: black;
}
div#app form#input ul#options li label.label {
  display: block;
  margin: 0px;
  padding: 5px 10px;
  width: 100%;
  height: 100%;
  text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.5);
}
div#app form#input ul#options li label.pad-value {
  display: inline-block;
  margin: 0px;
  padding: 0px;
}
div#app form#input ul#options li input[type="checkbox"],
div#app form#input ul#options li input[type="radio"] {
  position: relative;
  top: 1px;
  margin: 0px 5px 0px 0px;
}
div#app form#input ul#options li span {
  display: block;
  margin: 0px 0px 5px 0px;
  padding: 0px;
  font-size: 12px;
}
div#app form#input ul#options li div.text-input {
  display: inline-block;
  margin: 0px;
  padding: 0px;
}
div#app form#input ul#options li div.text-input input[type="text"] {
  display: block;
  margin: 0px 0px 5px 0px;
  padding: 3px;
  font-size: 11px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 3px;
  box-shadow: inset 0px 1px 3px rgba(0, 0, 0, 0.2), 0px 1px 0px rgba(255, 255, 255, 0.8);
}
div#app form#input ul#options li div.text-input input[type="text"]#line-label,
div#app form#input ul#options li div.text-input input[type="text"]#constant-label {
  width: 80px;
}
div#app form#input ul#options li div.text-input input[type="text"]#hex-prefix {
  width: 20px;
  text-align: center;
}
div#app form#input ul#options li div.text-input input[type="text"].pad-value {
  display: inline-block;
  margin: 0px 5px 5px 5px;
  width: 20px;
  text-align: center;
}
div#app form#input ul#options li p {
  margin-left: 0px;
}
div#app form#input div#advanced-options {
  position: absolute;
  background: #cccccc;
  width: 182px;
  height: 100%;
  z-index: 1000;
  left: 182px;
  border-top-left-radius: 3px;
}
div#app form#input div#advanced-options p {
  display: block;
  margin: 0px 0px 5px 10px;
  padding: 0px 20px 0px 0px;
  font-size: 10px;
  line-height: 1.2;
  text-shadow: none;
}
div#app div#output {
  display: table;
  box-sizing: border-box;
  margin: 0px;
  padding: 0px;
  width: 620px;
  height: 100%;
  margin: 0px 0px 0px 182px;
  background: white;
  border-left: 1px solid rgba(0, 0, 0, 0.8);
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  box-shadow: -1px 0px 2px rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 100;
}
div#app div#output > div {
  display: table-row;
}
div#app div#output > div > div {
  display: table-cell;
}
div#app div#output div#output-header a#download {
  float: right;
  padding: 10px;
  margin: 0px 5px;
  color: inherit;
  text-decoration: none;
}
div#app div#output div#output-header a#download:hover {
  color: black;
  text-decoration: underline;
}
div#app div#output div#textarea-container {
  margin: 0px;
  padding: 0px 10px 10px 10px;
  box-sizing: border-box;
  height: 100%;
}
div#app div#output div#textarea-container textarea {
  display: block;
  margin: 0px;
  padding: 10px;
  width: 598px;
  height: 100%;
  background: #e0e0e0;
  font-family: "Lucida Console", monospace;
  font-size: 11px;
  color: #333333;
  resize: none;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 3px;
}
div#app div#output div#textarea-container textarea:focus {
  outline: none;
}
footer {
  display: block;
  margin: 10px auto 20px auto;
  text-align: right;
}
footer span {
  display: block;
  margin: 0px 10px;
  font-size: 11px;
  color: #666666;
  text-shadow: 0px -1px 0pc rgba(0, 0, 0, 0.3);
}
footer span a {
  text-decoration: none;
  color: inherit;
}
footer span a:hover {
  color: #999999;
}
footer span img {
  position: relative;
  top: 2px;
}
