@charset "UTF-8";
*[class^="flex-"], *[class*=" flex-"] {
  display: flex; }
  *[class^="flex-"][class^="flex-row"], *[class^="flex-"][class*=" flex-row"], *[class*=" flex-"][class^="flex-row"], *[class*=" flex-"][class*=" flex-row"] {
    flex-direction: row; }
  *[class^="flex-"][class^="flex-column"], *[class^="flex-"][class*=" flex-column"], *[class*=" flex-"][class^="flex-column"], *[class*=" flex-"][class*=" flex-column"] {
    flex-direction: column; }
  *[class^="flex-"][class^="justify-"].justify-center, *[class^="flex-"][class*=" justify-"].justify-center, *[class*=" flex-"][class^="justify-"].justify-center, *[class*=" flex-"][class*=" justify-"].justify-center {
    justify-content: center; }
  *[class^="flex-"][class^="justify-"].justify-start, *[class^="flex-"][class*=" justify-"].justify-start, *[class*=" flex-"][class^="justify-"].justify-start, *[class*=" flex-"][class*=" justify-"].justify-start {
    justify-content: flex-start; }
  *[class^="flex-"][class^="justify-"].justify-end, *[class^="flex-"][class*=" justify-"].justify-end, *[class*=" flex-"][class^="justify-"].justify-end, *[class*=" flex-"][class*=" justify-"].justify-end {
    justify-content: flex-end; }
  *[class^="flex-"][class^="justify-"].justify-around, *[class^="flex-"][class*=" justify-"].justify-around, *[class*=" flex-"][class^="justify-"].justify-around, *[class*=" flex-"][class*=" justify-"].justify-around {
    justify-content: space-around; }
  *[class^="flex-"][class^="justify-"].justify-between, *[class^="flex-"][class*=" justify-"].justify-between, *[class*=" flex-"][class^="justify-"].justify-between, *[class*=" flex-"][class*=" justify-"].justify-between {
    justify-content: space-between; }
  *[class^="flex-"][class^="align-"].align-center, *[class^="flex-"][class*=" align-"].align-center, *[class*=" flex-"][class^="align-"].align-center, *[class*=" flex-"][class*=" align-"].align-center {
    align-items: center; }
  *[class^="flex-"][class^="align-"].align-start, *[class^="flex-"][class*=" align-"].align-start, *[class*=" flex-"][class^="align-"].align-start, *[class*=" flex-"][class*=" align-"].align-start {
    align-items: flex-start; }
  *[class^="flex-"][class^="align-"].align-end, *[class^="flex-"][class*=" align-"].align-end, *[class*=" flex-"][class^="align-"].align-end, *[class*=" flex-"][class*=" align-"].align-end {
    align-items: flex-end; }
  *[class^="flex-"][class^="align-"].align-base, *[class^="flex-"][class*=" align-"].align-base, *[class*=" flex-"][class^="align-"].align-base, *[class*=" flex-"][class*=" align-"].align-base {
    align-items: baseline; }
  *[class^="flex-"][class^="align-"].align-stretch, *[class^="flex-"][class*=" align-"].align-stretch, *[class*=" flex-"][class^="align-"].align-stretch, *[class*=" flex-"][class*=" align-"].align-stretch {
    align-items: stretch; }

.darken25 {
  box-shadow: inset 0 1000px rgba(0, 0, 0, 0.25); }

.darken50 {
  box-shadow: inset 0 1000px rgba(0, 0, 0, 0.5); }

.darken75 {
  box-shadow: inset 0 1000px rgba(0, 0, 0, 0.75); }

.lighten25 {
  box-shadow: inset 0 1000px rgba(255, 255, 255, 0.25); }

.lighten50 {
  box-shadow: inset 0 1000px rgba(255, 255, 255, 0.5); }

.lighten75 {
  box-shadow: inset 0 1000px rgba(255, 255, 255, 0.75); }

.hiddenAlt {
  visibility: hidden !important; }

.hidden {
  display: none !important; }

.noselect {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.cursor-pointer {
  cursor: pointer; }

.w3-modal {
  position: absolute; }

i {
  font-style: normal; }

.material-icons {
  top: initial;
  width: auto; }

.border-box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* from stackoverflow's all.css */
kbd {
  padding: .1em .6em;
  border: 1px solid #ccc;
  font-size: 11px;
  font-family: Arial,Helvetica,sans-serif;
  background-color: #f7f7f7;
  color: #333;
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  border-radius: 3px;
  display: inline-block;
  margin: 0 .1em;
  text-shadow: 0 1px 0 #fff;
  line-height: 1.4;
  white-space: nowrap; }

.arrow.left {
  transform: rotate(-90deg); }

.arrow.up {
  transform: rotate(0deg); }

.arrow.right {
  transform: rotate(90deg); }

.arrow.down {
  transform: rotate(180deg); }

.arrow polyline {
  stroke-linejoin: round;
  stroke-width: 25px; }

* {
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

body {
  font-family: 'Press Start 2P', 'Helvetica', sans-serif;
  font-size: 16px;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative; }
  body.debug .debugOnly {
    display: flex; }
  body:not(.debug) .debugOnlyHidden {
    visibility: hidden !important; }
  body:not(.debug) .debugOnly {
    display: none !important; }
  body.easterEgg * {
    font-family: 'Comic Sans MS', sans-serif;
    color: red !important;
    text-shadow: 2px 2px 8px green; }
  body.noMainTile #leftArea {
    display: none !important; }
  body.noMainTile #rightArea {
    width: 80% !important; }
  body #MathJax_Message {
    display: none !important; }
  body[data-current-page="1"] > div[data-page="1"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body[data-current-page="2"] > div[data-page="2"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body[data-current-page="3"] > div[data-page="3"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body[data-current-page="4"] > div[data-page="4"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body[data-current-page="5"] > div[data-page="5"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body[data-current-page="6"] > div[data-page="6"] {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }
  body > div[data-page] {
    display: none;
    position: relative;
    width: 100%;
    height: 100%;
    background: black;
    color: white;
    padding-bottom: 32px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    body > div[data-page]:not(.last-page):after {
      content: "Press any key to continue...";
      font-size: 16px;
      position: absolute;
      left: 8px;
      bottom: 8px; }
    body > div[data-page] .click-to-continue {
      font-size: 16px;
      position: absolute;
      right: 8px;
      bottom: 8px;
      color: #646464;
      cursor: pointer; }
      body > div[data-page] .click-to-continue:hover {
        color: white; }
    body > div[data-page].title-page {
      justify-content: space-around; }
      body > div[data-page].title-page .title {
        font-size: 100px; }
      body > div[data-page].title-page .byline {
        font-size: 36px; }
    body > div[data-page].options-page {
      justify-content: space-around; }
      body > div[data-page].options-page .title {
        font-size: 72px; }
      body > div[data-page].options-page .subtitle {
        font-size: 36px; }
      body > div[data-page].options-page #gamemode-form {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;
        width: 80%;
        font-size: 24px; }
        body > div[data-page].options-page #gamemode-form input[type="radio"] {
          display: none; }
        body > div[data-page].options-page #gamemode-form label {
          padding: 16px;
          color: #646464;
          position: relative;
          overflow: hidden; }
          body > div[data-page].options-page #gamemode-form label:not([disabled]):hover, body > div[data-page].options-page #gamemode-form label.checked {
            color: white; }
          body > div[data-page].options-page #gamemode-form label.checked {
            outline: dotted red 2px; }
          body > div[data-page].options-page #gamemode-form label:not([disabled]) {
            cursor: pointer; }
          body > div[data-page].options-page #gamemode-form label[disabled] {
            cursor: no-drop; }
          body > div[data-page].options-page #gamemode-form label[disabled]:hover:after {
            content: "X";
            position: absolute;
            color: red;
            top: 16px;
            bottom: 16px;
            left: 50%;
            line-height: 24px;
            transform-origin: center center;
            transform: translate(-50%, 0) scale(20, 1.4);
            font-family: "Open Sans", sans-serif;
            font-size: 24px;
            font-weight: 100; }
    body > div[data-page].info-page {
      justify-content: space-around;
      text-align: center; }
      body > div[data-page].info-page .title {
        font-size: 64px; }
      body > div[data-page].info-page .subtitle {
        font-size: 28px;
        margin-top: 16px; }
      body > div[data-page].info-page .controls, body > div[data-page].info-page .instructions {
        font-size: 20px;
        line-height: 1.5em; }
    body > div[data-page].story-page {
      justify-content: space-around; }
      body > div[data-page].story-page .title {
        font-size: 72px; }
      body > div[data-page].story-page p {
        text-align: justify;
        line-height: 1.5em;
        margin: 0 20%; }
    body > div[data-page].gameover-page {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 100; }
      body > div[data-page].gameover-page.enabled {
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-around;
        align-items: center; }
      body > div[data-page].gameover-page .title {
        font-size: 72px; }
      body > div[data-page].gameover-page p {
        text-align: justify;
        line-height: 1.5em;
        margin: 0 20%;
        display: none; }
      body > div[data-page].gameover-page.won > p.won, body > div[data-page].gameover-page.lost > p.lost {
        display: block; }
    body > div[data-page].game-page {
      flex-direction: row;
      background: #505050;
      padding: 0; }
      body > div[data-page].game-page .side {
        width: calc((100vw - 93.33333vh)/2);
        text-align: center;
        color: white;
        height: 100%;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        position: relative; }
        body > div[data-page].game-page .side * {
          font-size: 1.5rem; }
        body > div[data-page].game-page .side button, body > div[data-page].game-page .side form, body > div[data-page].game-page .side div {
          min-width: 50%;
          margin: .5em 0;
          display: inline-block; }
        body > div[data-page].game-page .side div {
          line-height: 1.2em; }
        body > div[data-page].game-page .side form {
          display: flex;
          flex-flow: column nowrap;
          justify-content: center;
          align-items: center; }
        body > div[data-page].game-page .side input[type='number'] {
          font-size: 1.5rem;
          margin: 0 .5em;
          display: inline;
          text-align: center; }
      body > div[data-page].game-page #game {
        width: 93.33333vh;
        height: 100vh;
        position: relative;
        border: solid 5px black;
        border-style: none solid;
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center; }
        body > div[data-page].game-page #game > div {
          width: 100%; }
        body > div[data-page].game-page #game #graphicArea {
          background-size: contain;
          position: relative;
          height: 70vh; }
          body > div[data-page].game-page #game #graphicArea .pixelArt {
            image-rendering: pixelated; }
          body > div[data-page].game-page #game #graphicArea .healthbar {
            height: 50%;
            width: 5%;
            position: absolute;
            top: 0;
            display: flex;
            flex-flow: column nowrap;
            justify-content: flex-start;
            align-items: center;
            border: none 5px black;
            border-bottom-style: solid; }
            body > div[data-page].game-page #game #graphicArea .healthbar .singleBar, body > div[data-page].game-page #game #graphicArea .healthbar .barSegment {
              width: 100%;
              background-color: red; }
            body > div[data-page].game-page #game #graphicArea .healthbar .barSegment {
              border: solid 4px #800800; }
          body > div[data-page].game-page #game #graphicArea #playerHealth {
            left: 0;
            border-right-style: solid; }
          body > div[data-page].game-page #game #graphicArea #enemyHealth {
            right: 0;
            border-left-style: solid; }
        body > div[data-page].game-page #game #bottomArea {
          height: 30%;
          background: linear-gradient(#ff9900, #570000);
          position: relative;
          display: flex;
          flex-flow: column nowrap;
          justify-content: center;
          align-items: center; }
          body > div[data-page].game-page #game #bottomArea > div {
            width: 100%; }
          body > div[data-page].game-page #game #bottomArea #timerArea {
            position: static;
            background: gray;
            border: 3px solid black;
            border-style: solid none;
            height: 16.5%;
            padding: 0;
            display: flex;
            flex-flow: row nowrap;
            justify-content: flex-start;
            align-items: center; }
            body > div[data-page].game-page #game #bottomArea #timerArea .singleBar, body > div[data-page].game-page #game #bottomArea #timerArea .barSegment {
              height: 100%;
              background-color: #21ff00; }
            body > div[data-page].game-page #game #bottomArea #timerArea .barSegment {
              border: solid 4px green; }
            body > div[data-page].game-page #game #bottomArea #timerArea #timerDisplay {
              color: black;
              position: absolute;
              left: 50%;
              transform: translate(-50%); }
          body > div[data-page].game-page #game #bottomArea #tileArea {
            height: 83.5%;
            display: flex;
            flex-flow: row nowrap;
            justify-content: space-around;
            align-items: center; }
            body > div[data-page].game-page #game #bottomArea #tileArea #leftArea {
              width: 28%;
              height: 100%;
              display: flex;
              flex-flow: column nowrap;
              justify-content: center;
              align-items: center; }
              body > div[data-page].game-page #game #bottomArea #tileArea #leftArea .bigTileArea {
                height: 95%;
                width: 95%; }
            body > div[data-page].game-page #game #bottomArea #tileArea #rightArea {
              width: 71%;
              height: 100%;
              display: flex;
              flex-flow: column nowrap;
              justify-content: space-around;
              align-items: flex-start; }
              body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row {
                position: relative;
                height: 31%;
                width: 100%;
                display: flex;
                flex-flow: row nowrap;
                justify-content: flex-start;
                align-items: center; }
                body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row > img, body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row > div {
                  margin-right: 32px; }
                body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row .arrow {
                  height: 100%; }
                body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row .highlighter {
                  margin: 0;
                  position: absolute;
                  top: -5px;
                  left: -5px;
                  right: 0;
                  bottom: -5px;
                  border: solid 5px transparent; }
                body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row.selected.correct .highlighter {
                  border-color: green; }
                body > div[data-page].game-page #game #bottomArea #tileArea #rightArea .row.selected:not(.correct) .highlighter {
                  border-color: red; }
            body > div[data-page].game-page #game #bottomArea #tileArea .tile {
              font-family: 'MathJax_Main', sans-serif;
              color: white;
              position: relative;
              background: gray;
              text-shadow: none;
              display: flex;
              flex-flow: column nowrap;
              justify-content: center;
              align-items: center; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile.text {
                text-align: center; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile:last-child {
                margin-right: 0; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile[data-operation]::before {
                content: attr(data-operation);
                position: absolute;
                right: 100%;
                bottom: 0;
                height: 100%;
                width: 50%;
                text-align: center;
                vertical-align: middle;
                display: flex;
                flex-flow: column nowrap;
                justify-content: center;
                align-items: center;
                font-size: 32px; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile .math > span:last-child {
                border-left-style: none !important; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile[data-operation="/"]::before {
                content: "÷"; }
              body > div[data-page].game-page #game #bottomArea #tileArea .tile[data-operation="*"]::before {
                content: "×"; }
          body > div[data-page].game-page #game #bottomArea #bottomOverlay {
            display: flex;
            flex-flow: row nowrap;
            justify-content: center;
            align-items: center;
            font-size: 45px;
            color: white;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0; }
            body > div[data-page].game-page #game #bottomArea #bottomOverlay > div {
              background: rgba(0, 0, 0, 0.9);
              padding: 16px;
              border-radius: 8px; }
            body > div[data-page].game-page #game #bottomArea #bottomOverlay:not(.ready) > div {
              display: none; }
        body > div[data-page].game-page #game #mainOverlay {
          display: flex;
          flex-flow: row nowrap;
          justify-content: center;
          align-items: center;
          font-size: 45px;
          color: white;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0; }
          body > div[data-page].game-page #game #mainOverlay > div {
            background: rgba(0, 0, 0, 0.9);
            padding: 16px;
            border-radius: 8px; }
          body > div[data-page].game-page #game #mainOverlay:not(.ready) > div {
            display: none; }
          body > div[data-page].game-page #game #mainOverlay .countdown {
            font-size: 200px; }

#graphicArea {
  overflow: hidden; }
  #graphicArea > img {
    height: 100%;
    position: absolute; }
  #graphicArea.scrolling > img {
    animation: bgScroll 5s infinite linear; }

@keyframes bgScroll {
  from {
    left: 0; }
  to {
    left: -100%; } }

/*# sourceMappingURL=layout.css.map */
