* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: #111;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
}

#stage-wrapper {
  position: relative;
  width: 100vw;
  height: 100vh;
}

/* fixed 1300x800 stage, scaled+centered to fit whatever container it's dropped into (like an iframe) */
#stage {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1300px;
  height: 800px;
  transform-origin: center;
}

.screen {
  position: absolute;
  top: 0;
  left: 0;
  width: 1300px;
  height: 800px;
}

.hidden {
  display: none;
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 1300px;
  height: 800px;
  pointer-events: none;
}

.mono {
  font-family: "Courier New", monospace;
}

.label {
  position: absolute;
}

/* invisible hotspot buttons that sit over art drawn on the background image */
.hotspot {
  position: absolute;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
}

.hotspot:disabled {
  cursor: default;
}

.textBtn {
  position: absolute;
  background: #6C588D;
  color: #E6E6EB;
  border: 4px solid #838088;
  cursor: pointer;
}

.textBtn:disabled {
  opacity: 0.5;
  cursor: default;
}

#inputField {
  position: absolute;
  background: transparent;
  border: none;
  outline: none;
  caret-color: #14280A;
}

#wordLabel span.current {
  color: #FFC107;
}
