:root {
  --touch-target-size: max(1cm, 1.5em);
}
.penciltest-app {
  width: 100%;
}
.penciltest-app.hide-cursor .field {
  cursor: none;
}
.penciltest-app .field-container {
  width: 960px;
  height: 540px;
  background-color: #FFF;
  display: block;
  margin: 0 auto;
  box-shadow: 0 1em 4em rgba(0, 0, 0, 0.8);
  position: relative;
  cursor: crosshair;
}
.penciltest-app .field-container .field {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.penciltest-ui .toolbar {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
}
.penciltest-ui .toolbar .status {
  font-family: monospace;
  color: #FFF;
  line-height: 2em;
}
.penciltest-ui .toolbar .status.hidden {
  display: none;
}
.penciltest-ui .toolbar .status .status-left {
  float: left;
}
.penciltest-ui .toolbar .status .status-right {
  float: right;
}
.penciltest-ui .toolbar .status .status-left > *, .penciltest-ui .toolbar .status .status-right > * {
  display: inline-block;
  vertical-align: middle;
}
.penciltest-ui .toolbar .status .app-status, .penciltest-ui .toolbar .status .film-status {
  margin: 0 0.5em;
}
.penciltest-ui .toolbar .status button {
  height: var(--touch-target-size);
  min-width: var(--touch-target-size);
  background-color: transparent;
  color: inherit;
  border-width: 0;
  padding: 0 0.5em;
  font-size: 1.2em;
}
.penciltest-ui .toolbar .timeline {
  height: 0;
  overflow: auto;
  max-height: 100%;
}
.penciltest-ui .toolbar.open .timeline {
  height: auto;
}
.penciltest-ui #pt-feedback {
  background-color: black;
  padding: 0.5em;
  color: white;
  font-weight: bold;
  position: absolute;
  transform: translateX(-50%);
  bottom: 0;
  left: 50%;
  transition-property: opacity;
  transition-duration: 0.3s;
  opacity: 0;
  user-select: none;
}
.penciltest-ui .menu {
  display: none;
  position: absolute;
  top: 1em;
  left: 1em;
  box-shadow: 0 0.5em 2em rgba(0, 0, 0, 0.5);
  background-color: #eee;
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.penciltest-ui .menu ul, .penciltest-ui .menu li {
  list-style: inherit;
}
.penciltest-ui .menu li {
  position: relative;
}
.penciltest-ui .menu li label {
  display: block;
  padding: 0 0.5em 0 1.5em;
  line-height: 2.0em;
  color: #666;
  cursor: pointer;
}
.penciltest-ui .menu li:hover > label {
  color: black;
  background-color: #fff;
}
.penciltest-ui .menu li.enabled label::before {
  content: '\2713';
  position: absolute;
  left: 0;
  display: block;
  width: 1em;
  text-align: center;
}
.penciltest-ui .menu li.group {
  position: relative;
}
.penciltest-ui .menu li.group > ul {
  padding-left: 1em;
}
.penciltest-ui .menu li.group > label {
  padding-right: 2em;
}
.penciltest-ui .menu li.group > label::after {
  content: '\25bc';
  position: absolute;
  font-size: 0.6em;
  top: 0;
  right: 0;
  width: 1.5rem;
  height: 2.0rem;
  line-height: 2.0rem;
  text-align: center;
  -moz-transition-property: all;
  -o-transition-property: all;
  -webkit-transition-property: all;
  transition-property: all;
  -moz-transition-duration: 0.1s;
  -o-transition-duration: 0.1s;
  -webkit-transition-duration: 0.1s;
  transition-duration: 0.1s;
}
.penciltest-ui .menu li.group.collapsed label::after {
  -moz-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.penciltest-ui .menu li.group.collapsed > ul {
  display: none;
}
.penciltest-ui .menu li.icons ul {
  padding: 0;
}
.penciltest-ui .menu li.icons li {
  display: inline-block;
  text-align: center;
  width: 2em;
  /*font-family: 'fontawesome';*/
}
.penciltest-ui .menu li.icons li label {
  display: none;
}
/*
.penciltest-ui .menu li.icons li[rel="playPause"]::before {
  content: '\f04b';
}
.penciltest-ui .menu li.icons li[rel="firstFrame"]::before {
  content: '\f049';
}
.penciltest-ui .menu li.icons li[rel="lastFrame"]::before {
  content: '\f050';
}
.penciltest-ui .menu li.icons li[rel="nextFrame"]::before {
  content: '\f051';
}
.penciltest-ui .menu li.icons li[rel="prevFrame"]::before {
  content: '\f048';
}
*/
.penciltest-ui .menu.active {
  display: block;
}
.penciltest-ui .help {
  padding: 1em;
  box-sizing: border-box;
  white-space: pre-wrap;
  overflow: auto;
  position: fixed;
  top: 0;
  bottom: var(--touch-target-size);
  --width: min(100vw, 25em);
  width: var(--width);
  right: calc(-1 * var(--width));
  color: #EEE;
  background-color: rgba(0, 0, 0, 0.7);
  border: none;
  font-size: 0.9em;
  line-height: 1.7em;
  -moz-transition-property: right;
  -o-transition-property: right;
  -webkit-transition-property: right;
  transition-property: right;
  -moz-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
.penciltest-ui .help h3:not(:nth-of-type(1)) {
  border-top: 1px solid white;
  padding-top: 1em;
  margin-top: 2em;
}
.penciltest-ui .help dt {
  margin-top: 0.5em;
}
.penciltest-ui .help dt small::before {
  content: "\2014";
  margin: 0 0.5em;
}
.penciltest-ui .help.active {
  right: 0;
}
