Netbyzz

#A066
Escape Game

HTML :

<!-- CODE = #A066 -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>NETBYZZ A066</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <form class="game-form">
      <input class="map-check" type="radio" name="map-radio" id="grid_0_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_0" />
      <input class="map-check monster-check" type="checkbox" id="monster_3_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_0" />
      <input class="map-check monster-check" type="checkbox" id="monster_9_0" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_1" />
      <input class="map-check monster-check" type="checkbox" id="monster_6_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_1" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_2" />
      <input class="map-check" type="checkbox" id="key_9_2" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_3" />
      <input class="map-check monster-check" type="checkbox" id="monster_8_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_3" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_4" />
      <input class="map-check monster-check" type="checkbox" id="monster_4_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_4" />
      <input class="map-check" type="checkbox" id="lock_6_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_4" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_5" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_6" />
      <input class="map-check" type="checkbox" id="key_0_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_6" />
      <input
        class="map-check"
        type="radio"
        name="map-radio"
        id="grid_2_6"
        checked="checked"
      />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_6" />
      <input class="map-check" type="checkbox" id="lock_4_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_6" />
      <input class="map-check" type="checkbox" id="lock_7_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_6" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_7" />
      <input class="map-check monster-check" type="checkbox" id="monster_4_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_7" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_8" />
      <input class="map-check" type="checkbox" id="lock_3_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_8" />
      <input class="map-check" type="radio" name="map-radio" id="grid_0_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_1_9" />
      <input class="map-check" type="checkbox" id="key_1_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_2_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_3_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_4_9" />
      <input class="map-check monster-check" type="checkbox" id="monster_4_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_5_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_6_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_7_9" />
      <input class="map-check" type="checkbox" id="key_7_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_8_9" />
      <input class="map-check" type="radio" name="map-radio" id="grid_9_9" />
      <input
        class="map-check dialog-check"
        type="radio"
        name="pre_dialog"
        id="pre_dialog_0"
        checked="checked"
      />
      <input
        class="map-check dialog-check"
        type="radio"
        name="pre_dialog"
        id="pre_dialog_1"
      />
      <input
        class="map-check dialog-check"
        type="radio"
        name="pre_dialog"
        id="pre_dialog_2"
      />
      <input
        class="map-check dialog-check"
        type="radio"
        name="pre_dialog"
        id="pre_dialog_3"
      />
      <input
        class="map-check dialog-check"
        type="radio"
        name="post_dialog"
        id="post_dialog_0"
        checked="checked"
      />
      <input
        class="map-check dialog-check"
        type="radio"
        name="post_dialog"
        id="post_dialog_1"
      />
      <input
        class="map-check dialog-check"
        type="checkbox"
        id="show_post_dialog"
      />
      <div class="view">
        <div class="map">
          <label class="grid wall" for="grid_0_0"> </label>
          <label class="grid wall" for="grid_1_0"> </label>
          <label class="grid wall" for="grid_2_0"> </label>
          <label class="grid" for="grid_3_0">
            <label class="object monster" for="monster_3_0"></label>
          </label>
          <label class="grid wall" for="grid_4_0"> </label>
          <label class="grid wall" for="grid_5_0"> </label>
          <label class="grid" for="grid_6_0"> </label>
          <label class="grid" for="grid_7_0"> </label>
          <label class="grid" for="grid_8_0"> </label>
          <label class="grid" for="grid_9_0">
            <label class="object monster" for="monster_9_0"></label>
          </label>
          <label class="grid" for="grid_0_1"> </label>
          <label class="grid" for="grid_1_1"> </label>
          <label class="grid" for="grid_2_1"> </label>
          <label class="grid" for="grid_3_1"> </label>
          <label class="grid wall" for="grid_4_1"> </label>
          <label class="grid wall" for="grid_5_1"> </label>
          <label class="grid" for="grid_6_1">
            <label class="object monster" for="monster_6_1"></label>
          </label>
          <label class="grid" for="grid_7_1"> </label>
          <label class="grid barrel" for="grid_8_1"> </label>
          <label class="grid barrel" for="grid_9_1"> </label>
          <label class="grid wall" for="grid_0_2"> </label>
          <label class="grid" for="grid_1_2"> </label>
          <label class="grid barrel" for="grid_2_2"> </label>
          <label class="grid barrel" for="grid_3_2"> </label>
          <label class="grid wall" for="grid_4_2"> </label>
          <label class="grid wall" for="grid_5_2"> </label>
          <label class="grid" for="grid_6_2"> </label>
          <label class="grid" for="grid_7_2"> </label>
          <label class="grid" for="grid_8_2"> </label>
          <label class="grid" for="grid_9_2">
            <label class="object key" for="key_9_2"></label>
          </label>
          <label class="grid wall" for="grid_0_3"> </label>
          <label class="grid" for="grid_1_3"> </label>
          <label class="grid" for="grid_2_3"> </label>
          <label class="grid" for="grid_3_3"> </label>
          <label class="grid wall" for="grid_4_3"> </label>
          <label class="grid wall" for="grid_5_3"> </label>
          <label class="grid wall" for="grid_6_3"> </label>
          <label class="grid" for="grid_7_3"> </label>
          <label class="grid" for="grid_8_3">
            <label class="object monster" for="monster_8_3"></label>
          </label>
          <label class="grid wall" for="grid_9_3"> </label>
          <label class="grid" for="grid_0_4"> </label>
          <label class="grid tree" for="grid_1_4"> </label>
          <label class="grid tree" for="grid_2_4"> </label>
          <label class="grid" for="grid_3_4"> </label>
          <label class="grid" for="grid_4_4">
            <label class="object monster" for="monster_4_4"></label>
          </label>
          <label class="grid" for="grid_5_4"> </label>
          <label class="grid" for="grid_6_4">
            <label class="object lock" for="lock_6_4"></label>
            <label class="object lock" data-key="7_9"></label>
          </label>
          <label class="grid" for="grid_7_4"> </label>
          <label class="grid tree" for="grid_8_4"> </label>
          <label class="grid wall" for="grid_9_4"> </label>
          <label class="grid" for="grid_0_5"> </label>
          <label class="grid tree" for="grid_1_5"> </label>
          <label class="grid tree" for="grid_2_5"> </label>
          <label class="grid" for="grid_3_5"> </label>
          <label class="grid wall" for="grid_4_5"> </label>
          <label class="grid" for="grid_5_5"> </label>
          <label class="grid barrel" for="grid_6_5"> </label>
          <label class="grid barrel" for="grid_7_5"> </label>
          <label class="grid wall" for="grid_8_5"> </label>
          <label class="grid wall" for="grid_9_5"> </label>
          <label class="grid" for="grid_0_6">
            <label class="object key" for="key_0_6"></label>
          </label>
          <label class="grid" for="grid_1_6"> </label>
          <label class="grid" for="grid_2_6"> </label>
          <label class="grid" for="grid_3_6"> </label>
          <label class="grid" for="grid_4_6">
            <label class="object lock" for="lock_4_6"></label>
            <label class="object lock" data-key="0_6"></label>
          </label>
          <label class="grid" for="grid_5_6"> </label>
          <label class="grid" for="grid_6_6"> </label>
          <label class="grid" for="grid_7_6">
            <label class="object lock" for="lock_7_6"></label>
            <label class="object lock" data-key="1_9"></label>
          </label>
          <label class="grid finish" for="show_post_dialog"> </label>
          <label class="grid wall" for="grid_9_6"> </label>
          <label class="grid" for="grid_0_7"> </label>
          <label class="grid barrel" for="grid_1_7"> </label>
          <label class="grid tree" for="grid_2_7"> </label>
          <label class="grid barrel" for="grid_3_7"> </label>
          <label class="grid" for="grid_4_7">
            <label class="object monster" for="monster_4_7"></label>
          </label>
          <label class="grid" for="grid_5_7"> </label>
          <label class="grid barrel" for="grid_6_7"> </label>
          <label class="grid wall" for="grid_7_7"> </label>
          <label class="grid wall" for="grid_8_7"> </label>
          <label class="grid wall" for="grid_9_7"> </label>
          <label class="grid" for="grid_0_8"> </label>
          <label class="grid tree" for="grid_1_8"> </label>
          <label class="grid wall" for="grid_2_8"> </label>
          <label class="grid" for="grid_3_8">
            <label class="object lock" for="lock_3_8"></label>
            <label class="object lock" data-key="9_2"></label>
          </label>
          <label class="grid" for="grid_4_8"> </label>
          <label class="grid" for="grid_5_8"> </label>
          <label class="grid barrel" for="grid_6_8"> </label>
          <label class="grid wall" for="grid_7_8"> </label>
          <label class="grid tree" for="grid_8_8"> </label>
          <label class="grid wall" for="grid_9_8"> </label>
          <label class="grid wall" for="grid_0_9"> </label>
          <label class="grid" for="grid_1_9">
            <label class="object key" for="key_1_9"></label>
          </label>
          <label class="grid" for="grid_2_9"> </label>
          <label class="grid" for="grid_3_9"> </label>
          <label class="grid" for="grid_4_9">
            <label class="object monster" for="monster_4_9"></label>
          </label>
          <label class="grid" for="grid_5_9"> </label>
          <label class="grid" for="grid_6_9"> </label>
          <label class="grid" for="grid_7_9">
            <label class="object key" for="key_7_9"></label>
          </label>
          <label class="grid tree" for="grid_8_9"> </label>
          <label class="grid wall" for="grid_9_9"> </label>
        </div>
        <div class="character"></div>
        <div class="fog"></div>
        <label class="pre-dialog" id="pre_dialog_trigger_2" for="pre_dialog_3"
          >Click on some of the objects to interact, but avoid the
          monsters.</label
        >
        <label class="pre-dialog" id="pre_dialog_trigger_1" for="pre_dialog_2"
          >Click on the tiles to move your character to that point.</label
        >
        <label class="pre-dialog" id="pre_dialog_trigger_0" for="pre_dialog_1"
          >You were lost in an unknown area! Find your way out.</label
        >
        <label
          class="post-dialog"
          id="post_dialog_trigger_1"
          for="post_dialog_2"
        >
          <button class="reset" type="reset">Play again</button>
        </label>
        <label
          class="post-dialog"
          id="post_dialog_trigger_0"
          for="post_dialog_1"
          >You managed to escape the dungeon!
        </label>
        <div class="lose-dialog">
          <span>You lose! You touched the monster!</span>
          <button class="reset" type="reset">Play again</button>
        </div>
      </div>
    </form>
  </body>
</html>
 

CSS :

@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P");

* {
  box-sizing: border-box;
}

.game-form {
  background-color: #000000;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-wrap: wrap;
}

.view {
  background-color: #000000;
  width: 75vmin;
  height: 75vmin;
  margin: auto;
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
}

.map {
  --repeat-x: 0;
  --repeat-y: 0;
  display: grid;
  grid-template-columns: repeat(10, 25vmin);
  grid-template-rows: repeat(10, 25vmin);
  position: absolute;
  top: 25vmin;
  left: 25vmin;
  transition: transform 1024ms ease-out;
}

.grid {
  background-image: url("https://assets.codepen.io/430361/css-maze-floor.png");
  background-size: 25vmin 25vmin;
  display: block;
  position: relative;
  pointer-events: none;
  image-rendering: pixelated;
}

.grid.wall {
  background-image: url("https://assets.codepen.io/430361/css-maze-wall.png");
}

.grid.tree {
  background-image: url("https://assets.codepen.io/430361/css-maze-tree.png");
}

.grid.finish {
  background-image: url("https://assets.codepen.io/430361/css-maze-exit.png");
  pointer-events: auto;
}

.grid.barrel {
  background-image: url("https://assets.codepen.io/430361/css-maze-barrel.png");
}

.grid .object {
  background-size: 25vmin 25vmin;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 128ms ease-out;
}

.grid .object.key {
  background-image: url("https://assets.codepen.io/430361/css-maze-key.png");
  pointer-events: auto;
}

.grid .object.lock {
  background-image: url("https://assets.codepen.io/430361/css-maze-door.png");
}

.grid .object.monster {
  background-image: url("https://assets.codepen.io/430361/css-maze-monster.png");
}

.map-check {
  display: none;
}

#grid_0_0:checked~.view .map {
  transform: translateX(0vmin) translateY(0vmin);
}

#grid_0_0:checked~.view .map .grid[for="grid_1_0"],
#grid_0_0:checked~.view .map .grid[for="grid_-1_0"],
#grid_0_0:checked~.view .map .grid[for="grid_0_1"],
#grid_0_0:checked~.view .map .grid[for="grid_0_-1"] {
  pointer-events: auto;
}

#grid_0_0:checked~.view .map .grid.wall,
#grid_0_0:checked~.view .map .grid.tree,
#grid_0_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_0:checked~.view .map .grid [for="key_0_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_0:checked~.view .map .grid [data-key="0_0"] {
  display: none;
}

#lock_0_0:checked~.view .map .grid [for="lock_0_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_0:checked~.view .character {
  animation: animate-character_0_0 1024ms step-end;
}

@keyframes animate-character_0_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_1:checked~.view .map {
  transform: translateX(0vmin) translateY(-25vmin);
}

#grid_0_1:checked~.view .map .grid[for="grid_1_1"],
#grid_0_1:checked~.view .map .grid[for="grid_-1_1"],
#grid_0_1:checked~.view .map .grid[for="grid_0_2"],
#grid_0_1:checked~.view .map .grid[for="grid_0_0"] {
  pointer-events: auto;
}

#grid_0_1:checked~.view .map .grid.wall,
#grid_0_1:checked~.view .map .grid.tree,
#grid_0_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_1:checked~.view .map .grid [for="key_0_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_1:checked~.view .map .grid [data-key="0_1"] {
  display: none;
}

#lock_0_1:checked~.view .map .grid [for="lock_0_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_1:checked~.view .character {
  animation: animate-character_0_1 1024ms step-end;
}

@keyframes animate-character_0_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_2:checked~.view .map {
  transform: translateX(0vmin) translateY(-50vmin);
}

#grid_0_2:checked~.view .map .grid[for="grid_1_2"],
#grid_0_2:checked~.view .map .grid[for="grid_-1_2"],
#grid_0_2:checked~.view .map .grid[for="grid_0_3"],
#grid_0_2:checked~.view .map .grid[for="grid_0_1"] {
  pointer-events: auto;
}

#grid_0_2:checked~.view .map .grid.wall,
#grid_0_2:checked~.view .map .grid.tree,
#grid_0_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_2:checked~.view .map .grid [for="key_0_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_2:checked~.view .map .grid [data-key="0_2"] {
  display: none;
}

#lock_0_2:checked~.view .map .grid [for="lock_0_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_2:checked~.view .character {
  animation: animate-character_0_2 1024ms step-end;
}

@keyframes animate-character_0_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_3:checked~.view .map {
  transform: translateX(0vmin) translateY(-75vmin);
}

#grid_0_3:checked~.view .map .grid[for="grid_1_3"],
#grid_0_3:checked~.view .map .grid[for="grid_-1_3"],
#grid_0_3:checked~.view .map .grid[for="grid_0_4"],
#grid_0_3:checked~.view .map .grid[for="grid_0_2"] {
  pointer-events: auto;
}

#grid_0_3:checked~.view .map .grid.wall,
#grid_0_3:checked~.view .map .grid.tree,
#grid_0_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_3:checked~.view .map .grid [for="key_0_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_3:checked~.view .map .grid [data-key="0_3"] {
  display: none;
}

#lock_0_3:checked~.view .map .grid [for="lock_0_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_3:checked~.view .character {
  animation: animate-character_0_3 1024ms step-end;
}

@keyframes animate-character_0_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_4:checked~.view .map {
  transform: translateX(0vmin) translateY(-100vmin);
}

#grid_0_4:checked~.view .map .grid[for="grid_1_4"],
#grid_0_4:checked~.view .map .grid[for="grid_-1_4"],
#grid_0_4:checked~.view .map .grid[for="grid_0_5"],
#grid_0_4:checked~.view .map .grid[for="grid_0_3"] {
  pointer-events: auto;
}

#grid_0_4:checked~.view .map .grid.wall,
#grid_0_4:checked~.view .map .grid.tree,
#grid_0_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_4:checked~.view .map .grid [for="key_0_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_4:checked~.view .map .grid [data-key="0_4"] {
  display: none;
}

#lock_0_4:checked~.view .map .grid [for="lock_0_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_4:checked~.view .character {
  animation: animate-character_0_4 1024ms step-end;
}

@keyframes animate-character_0_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_5:checked~.view .map {
  transform: translateX(0vmin) translateY(-125vmin);
}

#grid_0_5:checked~.view .map .grid[for="grid_1_5"],
#grid_0_5:checked~.view .map .grid[for="grid_-1_5"],
#grid_0_5:checked~.view .map .grid[for="grid_0_6"],
#grid_0_5:checked~.view .map .grid[for="grid_0_4"] {
  pointer-events: auto;
}

#grid_0_5:checked~.view .map .grid.wall,
#grid_0_5:checked~.view .map .grid.tree,
#grid_0_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_5:checked~.view .map .grid [for="key_0_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_5:checked~.view .map .grid [data-key="0_5"] {
  display: none;
}

#lock_0_5:checked~.view .map .grid [for="lock_0_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_5:checked~.view .character {
  animation: animate-character_0_5 1024ms step-end;
}

@keyframes animate-character_0_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_6:checked~.view .map {
  transform: translateX(0vmin) translateY(-150vmin);
}

#grid_0_6:checked~.view .map .grid[for="grid_1_6"],
#grid_0_6:checked~.view .map .grid[for="grid_-1_6"],
#grid_0_6:checked~.view .map .grid[for="grid_0_7"],
#grid_0_6:checked~.view .map .grid[for="grid_0_5"] {
  pointer-events: auto;
}

#grid_0_6:checked~.view .map .grid.wall,
#grid_0_6:checked~.view .map .grid.tree,
#grid_0_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_6:checked~.view .map .grid [for="key_0_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_6:checked~.view .map .grid [data-key="0_6"] {
  display: none;
}

#lock_0_6:checked~.view .map .grid [for="lock_0_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_6:checked~.view .character {
  animation: animate-character_0_6 1024ms step-end;
}

@keyframes animate-character_0_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_7:checked~.view .map {
  transform: translateX(0vmin) translateY(-175vmin);
}

#grid_0_7:checked~.view .map .grid[for="grid_1_7"],
#grid_0_7:checked~.view .map .grid[for="grid_-1_7"],
#grid_0_7:checked~.view .map .grid[for="grid_0_8"],
#grid_0_7:checked~.view .map .grid[for="grid_0_6"] {
  pointer-events: auto;
}

#grid_0_7:checked~.view .map .grid.wall,
#grid_0_7:checked~.view .map .grid.tree,
#grid_0_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_7:checked~.view .map .grid [for="key_0_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_7:checked~.view .map .grid [data-key="0_7"] {
  display: none;
}

#lock_0_7:checked~.view .map .grid [for="lock_0_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_7:checked~.view .character {
  animation: animate-character_0_7 1024ms step-end;
}

@keyframes animate-character_0_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_8:checked~.view .map {
  transform: translateX(0vmin) translateY(-200vmin);
}

#grid_0_8:checked~.view .map .grid[for="grid_1_8"],
#grid_0_8:checked~.view .map .grid[for="grid_-1_8"],
#grid_0_8:checked~.view .map .grid[for="grid_0_9"],
#grid_0_8:checked~.view .map .grid[for="grid_0_7"] {
  pointer-events: auto;
}

#grid_0_8:checked~.view .map .grid.wall,
#grid_0_8:checked~.view .map .grid.tree,
#grid_0_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_8:checked~.view .map .grid [for="key_0_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_8:checked~.view .map .grid [data-key="0_8"] {
  display: none;
}

#lock_0_8:checked~.view .map .grid [for="lock_0_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_8:checked~.view .character {
  animation: animate-character_0_8 1024ms step-end;
}

@keyframes animate-character_0_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_0_9:checked~.view .map {
  transform: translateX(0vmin) translateY(-225vmin);
}

#grid_0_9:checked~.view .map .grid[for="grid_1_9"],
#grid_0_9:checked~.view .map .grid[for="grid_-1_9"],
#grid_0_9:checked~.view .map .grid[for="grid_0_10"],
#grid_0_9:checked~.view .map .grid[for="grid_0_8"] {
  pointer-events: auto;
}

#grid_0_9:checked~.view .map .grid.wall,
#grid_0_9:checked~.view .map .grid.tree,
#grid_0_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_0_9:checked~.view .map .grid [for="key_0_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_0_9:checked~.view .map .grid [data-key="0_9"] {
  display: none;
}

#lock_0_9:checked~.view .map .grid [for="lock_0_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_0_9:checked~.view .character {
  animation: animate-character_0_9 1024ms step-end;
}

@keyframes animate-character_0_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_0:checked~.view .map {
  transform: translateX(-25vmin) translateY(0vmin);
}

#grid_1_0:checked~.view .map .grid[for="grid_2_0"],
#grid_1_0:checked~.view .map .grid[for="grid_0_0"],
#grid_1_0:checked~.view .map .grid[for="grid_1_1"],
#grid_1_0:checked~.view .map .grid[for="grid_1_-1"] {
  pointer-events: auto;
}

#grid_1_0:checked~.view .map .grid.wall,
#grid_1_0:checked~.view .map .grid.tree,
#grid_1_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_0:checked~.view .map .grid [for="key_1_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_0:checked~.view .map .grid [data-key="1_0"] {
  display: none;
}

#lock_1_0:checked~.view .map .grid [for="lock_1_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_0:checked~.view .character {
  animation: animate-character_1_0 1024ms step-end;
}

@keyframes animate-character_1_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_1:checked~.view .map {
  transform: translateX(-25vmin) translateY(-25vmin);
}

#grid_1_1:checked~.view .map .grid[for="grid_2_1"],
#grid_1_1:checked~.view .map .grid[for="grid_0_1"],
#grid_1_1:checked~.view .map .grid[for="grid_1_2"],
#grid_1_1:checked~.view .map .grid[for="grid_1_0"] {
  pointer-events: auto;
}

#grid_1_1:checked~.view .map .grid.wall,
#grid_1_1:checked~.view .map .grid.tree,
#grid_1_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_1:checked~.view .map .grid [for="key_1_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_1:checked~.view .map .grid [data-key="1_1"] {
  display: none;
}

#lock_1_1:checked~.view .map .grid [for="lock_1_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_1:checked~.view .character {
  animation: animate-character_1_1 1024ms step-end;
}

@keyframes animate-character_1_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_2:checked~.view .map {
  transform: translateX(-25vmin) translateY(-50vmin);
}

#grid_1_2:checked~.view .map .grid[for="grid_2_2"],
#grid_1_2:checked~.view .map .grid[for="grid_0_2"],
#grid_1_2:checked~.view .map .grid[for="grid_1_3"],
#grid_1_2:checked~.view .map .grid[for="grid_1_1"] {
  pointer-events: auto;
}

#grid_1_2:checked~.view .map .grid.wall,
#grid_1_2:checked~.view .map .grid.tree,
#grid_1_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_2:checked~.view .map .grid [for="key_1_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_2:checked~.view .map .grid [data-key="1_2"] {
  display: none;
}

#lock_1_2:checked~.view .map .grid [for="lock_1_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_2:checked~.view .character {
  animation: animate-character_1_2 1024ms step-end;
}

@keyframes animate-character_1_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_3:checked~.view .map {
  transform: translateX(-25vmin) translateY(-75vmin);
}

#grid_1_3:checked~.view .map .grid[for="grid_2_3"],
#grid_1_3:checked~.view .map .grid[for="grid_0_3"],
#grid_1_3:checked~.view .map .grid[for="grid_1_4"],
#grid_1_3:checked~.view .map .grid[for="grid_1_2"] {
  pointer-events: auto;
}

#grid_1_3:checked~.view .map .grid.wall,
#grid_1_3:checked~.view .map .grid.tree,
#grid_1_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_3:checked~.view .map .grid [for="key_1_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_3:checked~.view .map .grid [data-key="1_3"] {
  display: none;
}

#lock_1_3:checked~.view .map .grid [for="lock_1_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_3:checked~.view .character {
  animation: animate-character_1_3 1024ms step-end;
}

@keyframes animate-character_1_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_4:checked~.view .map {
  transform: translateX(-25vmin) translateY(-100vmin);
}

#grid_1_4:checked~.view .map .grid[for="grid_2_4"],
#grid_1_4:checked~.view .map .grid[for="grid_0_4"],
#grid_1_4:checked~.view .map .grid[for="grid_1_5"],
#grid_1_4:checked~.view .map .grid[for="grid_1_3"] {
  pointer-events: auto;
}

#grid_1_4:checked~.view .map .grid.wall,
#grid_1_4:checked~.view .map .grid.tree,
#grid_1_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_4:checked~.view .map .grid [for="key_1_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_4:checked~.view .map .grid [data-key="1_4"] {
  display: none;
}

#lock_1_4:checked~.view .map .grid [for="lock_1_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_4:checked~.view .character {
  animation: animate-character_1_4 1024ms step-end;
}

@keyframes animate-character_1_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_5:checked~.view .map {
  transform: translateX(-25vmin) translateY(-125vmin);
}

#grid_1_5:checked~.view .map .grid[for="grid_2_5"],
#grid_1_5:checked~.view .map .grid[for="grid_0_5"],
#grid_1_5:checked~.view .map .grid[for="grid_1_6"],
#grid_1_5:checked~.view .map .grid[for="grid_1_4"] {
  pointer-events: auto;
}

#grid_1_5:checked~.view .map .grid.wall,
#grid_1_5:checked~.view .map .grid.tree,
#grid_1_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_5:checked~.view .map .grid [for="key_1_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_5:checked~.view .map .grid [data-key="1_5"] {
  display: none;
}

#lock_1_5:checked~.view .map .grid [for="lock_1_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_5:checked~.view .character {
  animation: animate-character_1_5 1024ms step-end;
}

@keyframes animate-character_1_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_6:checked~.view .map {
  transform: translateX(-25vmin) translateY(-150vmin);
}

#grid_1_6:checked~.view .map .grid[for="grid_2_6"],
#grid_1_6:checked~.view .map .grid[for="grid_0_6"],
#grid_1_6:checked~.view .map .grid[for="grid_1_7"],
#grid_1_6:checked~.view .map .grid[for="grid_1_5"] {
  pointer-events: auto;
}

#grid_1_6:checked~.view .map .grid.wall,
#grid_1_6:checked~.view .map .grid.tree,
#grid_1_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_6:checked~.view .map .grid [for="key_1_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_6:checked~.view .map .grid [data-key="1_6"] {
  display: none;
}

#lock_1_6:checked~.view .map .grid [for="lock_1_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_6:checked~.view .character {
  animation: animate-character_1_6 1024ms step-end;
}

@keyframes animate-character_1_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_7:checked~.view .map {
  transform: translateX(-25vmin) translateY(-175vmin);
}

#grid_1_7:checked~.view .map .grid[for="grid_2_7"],
#grid_1_7:checked~.view .map .grid[for="grid_0_7"],
#grid_1_7:checked~.view .map .grid[for="grid_1_8"],
#grid_1_7:checked~.view .map .grid[for="grid_1_6"] {
  pointer-events: auto;
}

#grid_1_7:checked~.view .map .grid.wall,
#grid_1_7:checked~.view .map .grid.tree,
#grid_1_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_7:checked~.view .map .grid [for="key_1_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_7:checked~.view .map .grid [data-key="1_7"] {
  display: none;
}

#lock_1_7:checked~.view .map .grid [for="lock_1_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_7:checked~.view .character {
  animation: animate-character_1_7 1024ms step-end;
}

@keyframes animate-character_1_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_8:checked~.view .map {
  transform: translateX(-25vmin) translateY(-200vmin);
}

#grid_1_8:checked~.view .map .grid[for="grid_2_8"],
#grid_1_8:checked~.view .map .grid[for="grid_0_8"],
#grid_1_8:checked~.view .map .grid[for="grid_1_9"],
#grid_1_8:checked~.view .map .grid[for="grid_1_7"] {
  pointer-events: auto;
}

#grid_1_8:checked~.view .map .grid.wall,
#grid_1_8:checked~.view .map .grid.tree,
#grid_1_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_8:checked~.view .map .grid [for="key_1_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_8:checked~.view .map .grid [data-key="1_8"] {
  display: none;
}

#lock_1_8:checked~.view .map .grid [for="lock_1_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_8:checked~.view .character {
  animation: animate-character_1_8 1024ms step-end;
}

@keyframes animate-character_1_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_1_9:checked~.view .map {
  transform: translateX(-25vmin) translateY(-225vmin);
}

#grid_1_9:checked~.view .map .grid[for="grid_2_9"],
#grid_1_9:checked~.view .map .grid[for="grid_0_9"],
#grid_1_9:checked~.view .map .grid[for="grid_1_10"],
#grid_1_9:checked~.view .map .grid[for="grid_1_8"] {
  pointer-events: auto;
}

#grid_1_9:checked~.view .map .grid.wall,
#grid_1_9:checked~.view .map .grid.tree,
#grid_1_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_1_9:checked~.view .map .grid [for="key_1_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_1_9:checked~.view .map .grid [data-key="1_9"] {
  display: none;
}

#lock_1_9:checked~.view .map .grid [for="lock_1_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_1_9:checked~.view .character {
  animation: animate-character_1_9 1024ms step-end;
}

@keyframes animate-character_1_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_0:checked~.view .map {
  transform: translateX(-50vmin) translateY(0vmin);
}

#grid_2_0:checked~.view .map .grid[for="grid_3_0"],
#grid_2_0:checked~.view .map .grid[for="grid_1_0"],
#grid_2_0:checked~.view .map .grid[for="grid_2_1"],
#grid_2_0:checked~.view .map .grid[for="grid_2_-1"] {
  pointer-events: auto;
}

#grid_2_0:checked~.view .map .grid.wall,
#grid_2_0:checked~.view .map .grid.tree,
#grid_2_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_0:checked~.view .map .grid [for="key_2_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_0:checked~.view .map .grid [data-key="2_0"] {
  display: none;
}

#lock_2_0:checked~.view .map .grid [for="lock_2_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_0:checked~.view .character {
  animation: animate-character_2_0 1024ms step-end;
}

@keyframes animate-character_2_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_1:checked~.view .map {
  transform: translateX(-50vmin) translateY(-25vmin);
}

#grid_2_1:checked~.view .map .grid[for="grid_3_1"],
#grid_2_1:checked~.view .map .grid[for="grid_1_1"],
#grid_2_1:checked~.view .map .grid[for="grid_2_2"],
#grid_2_1:checked~.view .map .grid[for="grid_2_0"] {
  pointer-events: auto;
}

#grid_2_1:checked~.view .map .grid.wall,
#grid_2_1:checked~.view .map .grid.tree,
#grid_2_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_1:checked~.view .map .grid [for="key_2_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_1:checked~.view .map .grid [data-key="2_1"] {
  display: none;
}

#lock_2_1:checked~.view .map .grid [for="lock_2_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_1:checked~.view .character {
  animation: animate-character_2_1 1024ms step-end;
}

@keyframes animate-character_2_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_2:checked~.view .map {
  transform: translateX(-50vmin) translateY(-50vmin);
}

#grid_2_2:checked~.view .map .grid[for="grid_3_2"],
#grid_2_2:checked~.view .map .grid[for="grid_1_2"],
#grid_2_2:checked~.view .map .grid[for="grid_2_3"],
#grid_2_2:checked~.view .map .grid[for="grid_2_1"] {
  pointer-events: auto;
}

#grid_2_2:checked~.view .map .grid.wall,
#grid_2_2:checked~.view .map .grid.tree,
#grid_2_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_2:checked~.view .map .grid [for="key_2_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_2:checked~.view .map .grid [data-key="2_2"] {
  display: none;
}

#lock_2_2:checked~.view .map .grid [for="lock_2_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_2:checked~.view .character {
  animation: animate-character_2_2 1024ms step-end;
}

@keyframes animate-character_2_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_3:checked~.view .map {
  transform: translateX(-50vmin) translateY(-75vmin);
}

#grid_2_3:checked~.view .map .grid[for="grid_3_3"],
#grid_2_3:checked~.view .map .grid[for="grid_1_3"],
#grid_2_3:checked~.view .map .grid[for="grid_2_4"],
#grid_2_3:checked~.view .map .grid[for="grid_2_2"] {
  pointer-events: auto;
}

#grid_2_3:checked~.view .map .grid.wall,
#grid_2_3:checked~.view .map .grid.tree,
#grid_2_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_3:checked~.view .map .grid [for="key_2_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_3:checked~.view .map .grid [data-key="2_3"] {
  display: none;
}

#lock_2_3:checked~.view .map .grid [for="lock_2_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_3:checked~.view .character {
  animation: animate-character_2_3 1024ms step-end;
}

@keyframes animate-character_2_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_4:checked~.view .map {
  transform: translateX(-50vmin) translateY(-100vmin);
}

#grid_2_4:checked~.view .map .grid[for="grid_3_4"],
#grid_2_4:checked~.view .map .grid[for="grid_1_4"],
#grid_2_4:checked~.view .map .grid[for="grid_2_5"],
#grid_2_4:checked~.view .map .grid[for="grid_2_3"] {
  pointer-events: auto;
}

#grid_2_4:checked~.view .map .grid.wall,
#grid_2_4:checked~.view .map .grid.tree,
#grid_2_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_4:checked~.view .map .grid [for="key_2_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_4:checked~.view .map .grid [data-key="2_4"] {
  display: none;
}

#lock_2_4:checked~.view .map .grid [for="lock_2_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_4:checked~.view .character {
  animation: animate-character_2_4 1024ms step-end;
}

@keyframes animate-character_2_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_5:checked~.view .map {
  transform: translateX(-50vmin) translateY(-125vmin);
}

#grid_2_5:checked~.view .map .grid[for="grid_3_5"],
#grid_2_5:checked~.view .map .grid[for="grid_1_5"],
#grid_2_5:checked~.view .map .grid[for="grid_2_6"],
#grid_2_5:checked~.view .map .grid[for="grid_2_4"] {
  pointer-events: auto;
}

#grid_2_5:checked~.view .map .grid.wall,
#grid_2_5:checked~.view .map .grid.tree,
#grid_2_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_5:checked~.view .map .grid [for="key_2_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_5:checked~.view .map .grid [data-key="2_5"] {
  display: none;
}

#lock_2_5:checked~.view .map .grid [for="lock_2_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_5:checked~.view .character {
  animation: animate-character_2_5 1024ms step-end;
}

@keyframes animate-character_2_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_6:checked~.view .map {
  transform: translateX(-50vmin) translateY(-150vmin);
}

#grid_2_6:checked~.view .map .grid[for="grid_3_6"],
#grid_2_6:checked~.view .map .grid[for="grid_1_6"],
#grid_2_6:checked~.view .map .grid[for="grid_2_7"],
#grid_2_6:checked~.view .map .grid[for="grid_2_5"] {
  pointer-events: auto;
}

#grid_2_6:checked~.view .map .grid.wall,
#grid_2_6:checked~.view .map .grid.tree,
#grid_2_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_6:checked~.view .map .grid [for="key_2_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_6:checked~.view .map .grid [data-key="2_6"] {
  display: none;
}

#lock_2_6:checked~.view .map .grid [for="lock_2_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_6:checked~.view .character {
  animation: animate-character_2_6 1024ms step-end;
}

@keyframes animate-character_2_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_7:checked~.view .map {
  transform: translateX(-50vmin) translateY(-175vmin);
}

#grid_2_7:checked~.view .map .grid[for="grid_3_7"],
#grid_2_7:checked~.view .map .grid[for="grid_1_7"],
#grid_2_7:checked~.view .map .grid[for="grid_2_8"],
#grid_2_7:checked~.view .map .grid[for="grid_2_6"] {
  pointer-events: auto;
}

#grid_2_7:checked~.view .map .grid.wall,
#grid_2_7:checked~.view .map .grid.tree,
#grid_2_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_7:checked~.view .map .grid [for="key_2_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_7:checked~.view .map .grid [data-key="2_7"] {
  display: none;
}

#lock_2_7:checked~.view .map .grid [for="lock_2_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_7:checked~.view .character {
  animation: animate-character_2_7 1024ms step-end;
}

@keyframes animate-character_2_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_8:checked~.view .map {
  transform: translateX(-50vmin) translateY(-200vmin);
}

#grid_2_8:checked~.view .map .grid[for="grid_3_8"],
#grid_2_8:checked~.view .map .grid[for="grid_1_8"],
#grid_2_8:checked~.view .map .grid[for="grid_2_9"],
#grid_2_8:checked~.view .map .grid[for="grid_2_7"] {
  pointer-events: auto;
}

#grid_2_8:checked~.view .map .grid.wall,
#grid_2_8:checked~.view .map .grid.tree,
#grid_2_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_8:checked~.view .map .grid [for="key_2_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_8:checked~.view .map .grid [data-key="2_8"] {
  display: none;
}

#lock_2_8:checked~.view .map .grid [for="lock_2_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_8:checked~.view .character {
  animation: animate-character_2_8 1024ms step-end;
}

@keyframes animate-character_2_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_2_9:checked~.view .map {
  transform: translateX(-50vmin) translateY(-225vmin);
}

#grid_2_9:checked~.view .map .grid[for="grid_3_9"],
#grid_2_9:checked~.view .map .grid[for="grid_1_9"],
#grid_2_9:checked~.view .map .grid[for="grid_2_10"],
#grid_2_9:checked~.view .map .grid[for="grid_2_8"] {
  pointer-events: auto;
}

#grid_2_9:checked~.view .map .grid.wall,
#grid_2_9:checked~.view .map .grid.tree,
#grid_2_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_2_9:checked~.view .map .grid [for="key_2_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_2_9:checked~.view .map .grid [data-key="2_9"] {
  display: none;
}

#lock_2_9:checked~.view .map .grid [for="lock_2_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_2_9:checked~.view .character {
  animation: animate-character_2_9 1024ms step-end;
}

@keyframes animate-character_2_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_0:checked~.view .map {
  transform: translateX(-75vmin) translateY(0vmin);
}

#grid_3_0:checked~.view .map .grid[for="grid_4_0"],
#grid_3_0:checked~.view .map .grid[for="grid_2_0"],
#grid_3_0:checked~.view .map .grid[for="grid_3_1"],
#grid_3_0:checked~.view .map .grid[for="grid_3_-1"] {
  pointer-events: auto;
}

#grid_3_0:checked~.view .map .grid.wall,
#grid_3_0:checked~.view .map .grid.tree,
#grid_3_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_0:checked~.view .map .grid [for="key_3_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_0:checked~.view .map .grid [data-key="3_0"] {
  display: none;
}

#lock_3_0:checked~.view .map .grid [for="lock_3_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_0:checked~.view .character {
  animation: animate-character_3_0 1024ms step-end;
}

@keyframes animate-character_3_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_1:checked~.view .map {
  transform: translateX(-75vmin) translateY(-25vmin);
}

#grid_3_1:checked~.view .map .grid[for="grid_4_1"],
#grid_3_1:checked~.view .map .grid[for="grid_2_1"],
#grid_3_1:checked~.view .map .grid[for="grid_3_2"],
#grid_3_1:checked~.view .map .grid[for="grid_3_0"] {
  pointer-events: auto;
}

#grid_3_1:checked~.view .map .grid.wall,
#grid_3_1:checked~.view .map .grid.tree,
#grid_3_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_1:checked~.view .map .grid [for="key_3_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_1:checked~.view .map .grid [data-key="3_1"] {
  display: none;
}

#lock_3_1:checked~.view .map .grid [for="lock_3_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_1:checked~.view .character {
  animation: animate-character_3_1 1024ms step-end;
}

@keyframes animate-character_3_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_2:checked~.view .map {
  transform: translateX(-75vmin) translateY(-50vmin);
}

#grid_3_2:checked~.view .map .grid[for="grid_4_2"],
#grid_3_2:checked~.view .map .grid[for="grid_2_2"],
#grid_3_2:checked~.view .map .grid[for="grid_3_3"],
#grid_3_2:checked~.view .map .grid[for="grid_3_1"] {
  pointer-events: auto;
}

#grid_3_2:checked~.view .map .grid.wall,
#grid_3_2:checked~.view .map .grid.tree,
#grid_3_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_2:checked~.view .map .grid [for="key_3_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_2:checked~.view .map .grid [data-key="3_2"] {
  display: none;
}

#lock_3_2:checked~.view .map .grid [for="lock_3_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_2:checked~.view .character {
  animation: animate-character_3_2 1024ms step-end;
}

@keyframes animate-character_3_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_3:checked~.view .map {
  transform: translateX(-75vmin) translateY(-75vmin);
}

#grid_3_3:checked~.view .map .grid[for="grid_4_3"],
#grid_3_3:checked~.view .map .grid[for="grid_2_3"],
#grid_3_3:checked~.view .map .grid[for="grid_3_4"],
#grid_3_3:checked~.view .map .grid[for="grid_3_2"] {
  pointer-events: auto;
}

#grid_3_3:checked~.view .map .grid.wall,
#grid_3_3:checked~.view .map .grid.tree,
#grid_3_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_3:checked~.view .map .grid [for="key_3_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_3:checked~.view .map .grid [data-key="3_3"] {
  display: none;
}

#lock_3_3:checked~.view .map .grid [for="lock_3_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_3:checked~.view .character {
  animation: animate-character_3_3 1024ms step-end;
}

@keyframes animate-character_3_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_4:checked~.view .map {
  transform: translateX(-75vmin) translateY(-100vmin);
}

#grid_3_4:checked~.view .map .grid[for="grid_4_4"],
#grid_3_4:checked~.view .map .grid[for="grid_2_4"],
#grid_3_4:checked~.view .map .grid[for="grid_3_5"],
#grid_3_4:checked~.view .map .grid[for="grid_3_3"] {
  pointer-events: auto;
}

#grid_3_4:checked~.view .map .grid.wall,
#grid_3_4:checked~.view .map .grid.tree,
#grid_3_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_4:checked~.view .map .grid [for="key_3_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_4:checked~.view .map .grid [data-key="3_4"] {
  display: none;
}

#lock_3_4:checked~.view .map .grid [for="lock_3_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_4:checked~.view .character {
  animation: animate-character_3_4 1024ms step-end;
}

@keyframes animate-character_3_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_5:checked~.view .map {
  transform: translateX(-75vmin) translateY(-125vmin);
}

#grid_3_5:checked~.view .map .grid[for="grid_4_5"],
#grid_3_5:checked~.view .map .grid[for="grid_2_5"],
#grid_3_5:checked~.view .map .grid[for="grid_3_6"],
#grid_3_5:checked~.view .map .grid[for="grid_3_4"] {
  pointer-events: auto;
}

#grid_3_5:checked~.view .map .grid.wall,
#grid_3_5:checked~.view .map .grid.tree,
#grid_3_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_5:checked~.view .map .grid [for="key_3_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_5:checked~.view .map .grid [data-key="3_5"] {
  display: none;
}

#lock_3_5:checked~.view .map .grid [for="lock_3_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_5:checked~.view .character {
  animation: animate-character_3_5 1024ms step-end;
}

@keyframes animate-character_3_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_6:checked~.view .map {
  transform: translateX(-75vmin) translateY(-150vmin);
}

#grid_3_6:checked~.view .map .grid[for="grid_4_6"],
#grid_3_6:checked~.view .map .grid[for="grid_2_6"],
#grid_3_6:checked~.view .map .grid[for="grid_3_7"],
#grid_3_6:checked~.view .map .grid[for="grid_3_5"] {
  pointer-events: auto;
}

#grid_3_6:checked~.view .map .grid.wall,
#grid_3_6:checked~.view .map .grid.tree,
#grid_3_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_6:checked~.view .map .grid [for="key_3_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_6:checked~.view .map .grid [data-key="3_6"] {
  display: none;
}

#lock_3_6:checked~.view .map .grid [for="lock_3_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_6:checked~.view .character {
  animation: animate-character_3_6 1024ms step-end;
}

@keyframes animate-character_3_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_7:checked~.view .map {
  transform: translateX(-75vmin) translateY(-175vmin);
}

#grid_3_7:checked~.view .map .grid[for="grid_4_7"],
#grid_3_7:checked~.view .map .grid[for="grid_2_7"],
#grid_3_7:checked~.view .map .grid[for="grid_3_8"],
#grid_3_7:checked~.view .map .grid[for="grid_3_6"] {
  pointer-events: auto;
}

#grid_3_7:checked~.view .map .grid.wall,
#grid_3_7:checked~.view .map .grid.tree,
#grid_3_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_7:checked~.view .map .grid [for="key_3_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_7:checked~.view .map .grid [data-key="3_7"] {
  display: none;
}

#lock_3_7:checked~.view .map .grid [for="lock_3_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_7:checked~.view .character {
  animation: animate-character_3_7 1024ms step-end;
}

@keyframes animate-character_3_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_8:checked~.view .map {
  transform: translateX(-75vmin) translateY(-200vmin);
}

#grid_3_8:checked~.view .map .grid[for="grid_4_8"],
#grid_3_8:checked~.view .map .grid[for="grid_2_8"],
#grid_3_8:checked~.view .map .grid[for="grid_3_9"],
#grid_3_8:checked~.view .map .grid[for="grid_3_7"] {
  pointer-events: auto;
}

#grid_3_8:checked~.view .map .grid.wall,
#grid_3_8:checked~.view .map .grid.tree,
#grid_3_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_8:checked~.view .map .grid [for="key_3_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_8:checked~.view .map .grid [data-key="3_8"] {
  display: none;
}

#lock_3_8:checked~.view .map .grid [for="lock_3_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_8:checked~.view .character {
  animation: animate-character_3_8 1024ms step-end;
}

@keyframes animate-character_3_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_3_9:checked~.view .map {
  transform: translateX(-75vmin) translateY(-225vmin);
}

#grid_3_9:checked~.view .map .grid[for="grid_4_9"],
#grid_3_9:checked~.view .map .grid[for="grid_2_9"],
#grid_3_9:checked~.view .map .grid[for="grid_3_10"],
#grid_3_9:checked~.view .map .grid[for="grid_3_8"] {
  pointer-events: auto;
}

#grid_3_9:checked~.view .map .grid.wall,
#grid_3_9:checked~.view .map .grid.tree,
#grid_3_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_3_9:checked~.view .map .grid [for="key_3_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_3_9:checked~.view .map .grid [data-key="3_9"] {
  display: none;
}

#lock_3_9:checked~.view .map .grid [for="lock_3_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_3_9:checked~.view .character {
  animation: animate-character_3_9 1024ms step-end;
}

@keyframes animate-character_3_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_0:checked~.view .map {
  transform: translateX(-100vmin) translateY(0vmin);
}

#grid_4_0:checked~.view .map .grid[for="grid_5_0"],
#grid_4_0:checked~.view .map .grid[for="grid_3_0"],
#grid_4_0:checked~.view .map .grid[for="grid_4_1"],
#grid_4_0:checked~.view .map .grid[for="grid_4_-1"] {
  pointer-events: auto;
}

#grid_4_0:checked~.view .map .grid.wall,
#grid_4_0:checked~.view .map .grid.tree,
#grid_4_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_0:checked~.view .map .grid [for="key_4_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_0:checked~.view .map .grid [data-key="4_0"] {
  display: none;
}

#lock_4_0:checked~.view .map .grid [for="lock_4_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_0:checked~.view .character {
  animation: animate-character_4_0 1024ms step-end;
}

@keyframes animate-character_4_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_1:checked~.view .map {
  transform: translateX(-100vmin) translateY(-25vmin);
}

#grid_4_1:checked~.view .map .grid[for="grid_5_1"],
#grid_4_1:checked~.view .map .grid[for="grid_3_1"],
#grid_4_1:checked~.view .map .grid[for="grid_4_2"],
#grid_4_1:checked~.view .map .grid[for="grid_4_0"] {
  pointer-events: auto;
}

#grid_4_1:checked~.view .map .grid.wall,
#grid_4_1:checked~.view .map .grid.tree,
#grid_4_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_1:checked~.view .map .grid [for="key_4_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_1:checked~.view .map .grid [data-key="4_1"] {
  display: none;
}

#lock_4_1:checked~.view .map .grid [for="lock_4_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_1:checked~.view .character {
  animation: animate-character_4_1 1024ms step-end;
}

@keyframes animate-character_4_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_2:checked~.view .map {
  transform: translateX(-100vmin) translateY(-50vmin);
}

#grid_4_2:checked~.view .map .grid[for="grid_5_2"],
#grid_4_2:checked~.view .map .grid[for="grid_3_2"],
#grid_4_2:checked~.view .map .grid[for="grid_4_3"],
#grid_4_2:checked~.view .map .grid[for="grid_4_1"] {
  pointer-events: auto;
}

#grid_4_2:checked~.view .map .grid.wall,
#grid_4_2:checked~.view .map .grid.tree,
#grid_4_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_2:checked~.view .map .grid [for="key_4_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_2:checked~.view .map .grid [data-key="4_2"] {
  display: none;
}

#lock_4_2:checked~.view .map .grid [for="lock_4_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_2:checked~.view .character {
  animation: animate-character_4_2 1024ms step-end;
}

@keyframes animate-character_4_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_3:checked~.view .map {
  transform: translateX(-100vmin) translateY(-75vmin);
}

#grid_4_3:checked~.view .map .grid[for="grid_5_3"],
#grid_4_3:checked~.view .map .grid[for="grid_3_3"],
#grid_4_3:checked~.view .map .grid[for="grid_4_4"],
#grid_4_3:checked~.view .map .grid[for="grid_4_2"] {
  pointer-events: auto;
}

#grid_4_3:checked~.view .map .grid.wall,
#grid_4_3:checked~.view .map .grid.tree,
#grid_4_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_3:checked~.view .map .grid [for="key_4_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_3:checked~.view .map .grid [data-key="4_3"] {
  display: none;
}

#lock_4_3:checked~.view .map .grid [for="lock_4_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_3:checked~.view .character {
  animation: animate-character_4_3 1024ms step-end;
}

@keyframes animate-character_4_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_4:checked~.view .map {
  transform: translateX(-100vmin) translateY(-100vmin);
}

#grid_4_4:checked~.view .map .grid[for="grid_5_4"],
#grid_4_4:checked~.view .map .grid[for="grid_3_4"],
#grid_4_4:checked~.view .map .grid[for="grid_4_5"],
#grid_4_4:checked~.view .map .grid[for="grid_4_3"] {
  pointer-events: auto;
}

#grid_4_4:checked~.view .map .grid.wall,
#grid_4_4:checked~.view .map .grid.tree,
#grid_4_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_4:checked~.view .map .grid [for="key_4_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_4:checked~.view .map .grid [data-key="4_4"] {
  display: none;
}

#lock_4_4:checked~.view .map .grid [for="lock_4_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_4:checked~.view .character {
  animation: animate-character_4_4 1024ms step-end;
}

@keyframes animate-character_4_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_5:checked~.view .map {
  transform: translateX(-100vmin) translateY(-125vmin);
}

#grid_4_5:checked~.view .map .grid[for="grid_5_5"],
#grid_4_5:checked~.view .map .grid[for="grid_3_5"],
#grid_4_5:checked~.view .map .grid[for="grid_4_6"],
#grid_4_5:checked~.view .map .grid[for="grid_4_4"] {
  pointer-events: auto;
}

#grid_4_5:checked~.view .map .grid.wall,
#grid_4_5:checked~.view .map .grid.tree,
#grid_4_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_5:checked~.view .map .grid [for="key_4_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_5:checked~.view .map .grid [data-key="4_5"] {
  display: none;
}

#lock_4_5:checked~.view .map .grid [for="lock_4_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_5:checked~.view .character {
  animation: animate-character_4_5 1024ms step-end;
}

@keyframes animate-character_4_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_6:checked~.view .map {
  transform: translateX(-100vmin) translateY(-150vmin);
}

#grid_4_6:checked~.view .map .grid[for="grid_5_6"],
#grid_4_6:checked~.view .map .grid[for="grid_3_6"],
#grid_4_6:checked~.view .map .grid[for="grid_4_7"],
#grid_4_6:checked~.view .map .grid[for="grid_4_5"] {
  pointer-events: auto;
}

#grid_4_6:checked~.view .map .grid.wall,
#grid_4_6:checked~.view .map .grid.tree,
#grid_4_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_6:checked~.view .map .grid [for="key_4_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_6:checked~.view .map .grid [data-key="4_6"] {
  display: none;
}

#lock_4_6:checked~.view .map .grid [for="lock_4_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_6:checked~.view .character {
  animation: animate-character_4_6 1024ms step-end;
}

@keyframes animate-character_4_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_7:checked~.view .map {
  transform: translateX(-100vmin) translateY(-175vmin);
}

#grid_4_7:checked~.view .map .grid[for="grid_5_7"],
#grid_4_7:checked~.view .map .grid[for="grid_3_7"],
#grid_4_7:checked~.view .map .grid[for="grid_4_8"],
#grid_4_7:checked~.view .map .grid[for="grid_4_6"] {
  pointer-events: auto;
}

#grid_4_7:checked~.view .map .grid.wall,
#grid_4_7:checked~.view .map .grid.tree,
#grid_4_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_7:checked~.view .map .grid [for="key_4_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_7:checked~.view .map .grid [data-key="4_7"] {
  display: none;
}

#lock_4_7:checked~.view .map .grid [for="lock_4_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_7:checked~.view .character {
  animation: animate-character_4_7 1024ms step-end;
}

@keyframes animate-character_4_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_8:checked~.view .map {
  transform: translateX(-100vmin) translateY(-200vmin);
}

#grid_4_8:checked~.view .map .grid[for="grid_5_8"],
#grid_4_8:checked~.view .map .grid[for="grid_3_8"],
#grid_4_8:checked~.view .map .grid[for="grid_4_9"],
#grid_4_8:checked~.view .map .grid[for="grid_4_7"] {
  pointer-events: auto;
}

#grid_4_8:checked~.view .map .grid.wall,
#grid_4_8:checked~.view .map .grid.tree,
#grid_4_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_8:checked~.view .map .grid [for="key_4_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_8:checked~.view .map .grid [data-key="4_8"] {
  display: none;
}

#lock_4_8:checked~.view .map .grid [for="lock_4_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_8:checked~.view .character {
  animation: animate-character_4_8 1024ms step-end;
}

@keyframes animate-character_4_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_4_9:checked~.view .map {
  transform: translateX(-100vmin) translateY(-225vmin);
}

#grid_4_9:checked~.view .map .grid[for="grid_5_9"],
#grid_4_9:checked~.view .map .grid[for="grid_3_9"],
#grid_4_9:checked~.view .map .grid[for="grid_4_10"],
#grid_4_9:checked~.view .map .grid[for="grid_4_8"] {
  pointer-events: auto;
}

#grid_4_9:checked~.view .map .grid.wall,
#grid_4_9:checked~.view .map .grid.tree,
#grid_4_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_4_9:checked~.view .map .grid [for="key_4_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_4_9:checked~.view .map .grid [data-key="4_9"] {
  display: none;
}

#lock_4_9:checked~.view .map .grid [for="lock_4_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_4_9:checked~.view .character {
  animation: animate-character_4_9 1024ms step-end;
}

@keyframes animate-character_4_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_0:checked~.view .map {
  transform: translateX(-125vmin) translateY(0vmin);
}

#grid_5_0:checked~.view .map .grid[for="grid_6_0"],
#grid_5_0:checked~.view .map .grid[for="grid_4_0"],
#grid_5_0:checked~.view .map .grid[for="grid_5_1"],
#grid_5_0:checked~.view .map .grid[for="grid_5_-1"] {
  pointer-events: auto;
}

#grid_5_0:checked~.view .map .grid.wall,
#grid_5_0:checked~.view .map .grid.tree,
#grid_5_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_0:checked~.view .map .grid [for="key_5_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_0:checked~.view .map .grid [data-key="5_0"] {
  display: none;
}

#lock_5_0:checked~.view .map .grid [for="lock_5_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_0:checked~.view .character {
  animation: animate-character_5_0 1024ms step-end;
}

@keyframes animate-character_5_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_1:checked~.view .map {
  transform: translateX(-125vmin) translateY(-25vmin);
}

#grid_5_1:checked~.view .map .grid[for="grid_6_1"],
#grid_5_1:checked~.view .map .grid[for="grid_4_1"],
#grid_5_1:checked~.view .map .grid[for="grid_5_2"],
#grid_5_1:checked~.view .map .grid[for="grid_5_0"] {
  pointer-events: auto;
}

#grid_5_1:checked~.view .map .grid.wall,
#grid_5_1:checked~.view .map .grid.tree,
#grid_5_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_1:checked~.view .map .grid [for="key_5_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_1:checked~.view .map .grid [data-key="5_1"] {
  display: none;
}

#lock_5_1:checked~.view .map .grid [for="lock_5_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_1:checked~.view .character {
  animation: animate-character_5_1 1024ms step-end;
}

@keyframes animate-character_5_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_2:checked~.view .map {
  transform: translateX(-125vmin) translateY(-50vmin);
}

#grid_5_2:checked~.view .map .grid[for="grid_6_2"],
#grid_5_2:checked~.view .map .grid[for="grid_4_2"],
#grid_5_2:checked~.view .map .grid[for="grid_5_3"],
#grid_5_2:checked~.view .map .grid[for="grid_5_1"] {
  pointer-events: auto;
}

#grid_5_2:checked~.view .map .grid.wall,
#grid_5_2:checked~.view .map .grid.tree,
#grid_5_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_2:checked~.view .map .grid [for="key_5_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_2:checked~.view .map .grid [data-key="5_2"] {
  display: none;
}

#lock_5_2:checked~.view .map .grid [for="lock_5_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_2:checked~.view .character {
  animation: animate-character_5_2 1024ms step-end;
}

@keyframes animate-character_5_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_3:checked~.view .map {
  transform: translateX(-125vmin) translateY(-75vmin);
}

#grid_5_3:checked~.view .map .grid[for="grid_6_3"],
#grid_5_3:checked~.view .map .grid[for="grid_4_3"],
#grid_5_3:checked~.view .map .grid[for="grid_5_4"],
#grid_5_3:checked~.view .map .grid[for="grid_5_2"] {
  pointer-events: auto;
}

#grid_5_3:checked~.view .map .grid.wall,
#grid_5_3:checked~.view .map .grid.tree,
#grid_5_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_3:checked~.view .map .grid [for="key_5_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_3:checked~.view .map .grid [data-key="5_3"] {
  display: none;
}

#lock_5_3:checked~.view .map .grid [for="lock_5_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_3:checked~.view .character {
  animation: animate-character_5_3 1024ms step-end;
}

@keyframes animate-character_5_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_4:checked~.view .map {
  transform: translateX(-125vmin) translateY(-100vmin);
}

#grid_5_4:checked~.view .map .grid[for="grid_6_4"],
#grid_5_4:checked~.view .map .grid[for="grid_4_4"],
#grid_5_4:checked~.view .map .grid[for="grid_5_5"],
#grid_5_4:checked~.view .map .grid[for="grid_5_3"] {
  pointer-events: auto;
}

#grid_5_4:checked~.view .map .grid.wall,
#grid_5_4:checked~.view .map .grid.tree,
#grid_5_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_4:checked~.view .map .grid [for="key_5_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_4:checked~.view .map .grid [data-key="5_4"] {
  display: none;
}

#lock_5_4:checked~.view .map .grid [for="lock_5_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_4:checked~.view .character {
  animation: animate-character_5_4 1024ms step-end;
}

@keyframes animate-character_5_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_5:checked~.view .map {
  transform: translateX(-125vmin) translateY(-125vmin);
}

#grid_5_5:checked~.view .map .grid[for="grid_6_5"],
#grid_5_5:checked~.view .map .grid[for="grid_4_5"],
#grid_5_5:checked~.view .map .grid[for="grid_5_6"],
#grid_5_5:checked~.view .map .grid[for="grid_5_4"] {
  pointer-events: auto;
}

#grid_5_5:checked~.view .map .grid.wall,
#grid_5_5:checked~.view .map .grid.tree,
#grid_5_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_5:checked~.view .map .grid [for="key_5_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_5:checked~.view .map .grid [data-key="5_5"] {
  display: none;
}

#lock_5_5:checked~.view .map .grid [for="lock_5_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_5:checked~.view .character {
  animation: animate-character_5_5 1024ms step-end;
}

@keyframes animate-character_5_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_6:checked~.view .map {
  transform: translateX(-125vmin) translateY(-150vmin);
}

#grid_5_6:checked~.view .map .grid[for="grid_6_6"],
#grid_5_6:checked~.view .map .grid[for="grid_4_6"],
#grid_5_6:checked~.view .map .grid[for="grid_5_7"],
#grid_5_6:checked~.view .map .grid[for="grid_5_5"] {
  pointer-events: auto;
}

#grid_5_6:checked~.view .map .grid.wall,
#grid_5_6:checked~.view .map .grid.tree,
#grid_5_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_6:checked~.view .map .grid [for="key_5_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_6:checked~.view .map .grid [data-key="5_6"] {
  display: none;
}

#lock_5_6:checked~.view .map .grid [for="lock_5_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_6:checked~.view .character {
  animation: animate-character_5_6 1024ms step-end;
}

@keyframes animate-character_5_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_7:checked~.view .map {
  transform: translateX(-125vmin) translateY(-175vmin);
}

#grid_5_7:checked~.view .map .grid[for="grid_6_7"],
#grid_5_7:checked~.view .map .grid[for="grid_4_7"],
#grid_5_7:checked~.view .map .grid[for="grid_5_8"],
#grid_5_7:checked~.view .map .grid[for="grid_5_6"] {
  pointer-events: auto;
}

#grid_5_7:checked~.view .map .grid.wall,
#grid_5_7:checked~.view .map .grid.tree,
#grid_5_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_7:checked~.view .map .grid [for="key_5_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_7:checked~.view .map .grid [data-key="5_7"] {
  display: none;
}

#lock_5_7:checked~.view .map .grid [for="lock_5_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_7:checked~.view .character {
  animation: animate-character_5_7 1024ms step-end;
}

@keyframes animate-character_5_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_8:checked~.view .map {
  transform: translateX(-125vmin) translateY(-200vmin);
}

#grid_5_8:checked~.view .map .grid[for="grid_6_8"],
#grid_5_8:checked~.view .map .grid[for="grid_4_8"],
#grid_5_8:checked~.view .map .grid[for="grid_5_9"],
#grid_5_8:checked~.view .map .grid[for="grid_5_7"] {
  pointer-events: auto;
}

#grid_5_8:checked~.view .map .grid.wall,
#grid_5_8:checked~.view .map .grid.tree,
#grid_5_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_8:checked~.view .map .grid [for="key_5_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_8:checked~.view .map .grid [data-key="5_8"] {
  display: none;
}

#lock_5_8:checked~.view .map .grid [for="lock_5_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_8:checked~.view .character {
  animation: animate-character_5_8 1024ms step-end;
}

@keyframes animate-character_5_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_5_9:checked~.view .map {
  transform: translateX(-125vmin) translateY(-225vmin);
}

#grid_5_9:checked~.view .map .grid[for="grid_6_9"],
#grid_5_9:checked~.view .map .grid[for="grid_4_9"],
#grid_5_9:checked~.view .map .grid[for="grid_5_10"],
#grid_5_9:checked~.view .map .grid[for="grid_5_8"] {
  pointer-events: auto;
}

#grid_5_9:checked~.view .map .grid.wall,
#grid_5_9:checked~.view .map .grid.tree,
#grid_5_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_5_9:checked~.view .map .grid [for="key_5_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_5_9:checked~.view .map .grid [data-key="5_9"] {
  display: none;
}

#lock_5_9:checked~.view .map .grid [for="lock_5_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_5_9:checked~.view .character {
  animation: animate-character_5_9 1024ms step-end;
}

@keyframes animate-character_5_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_0:checked~.view .map {
  transform: translateX(-150vmin) translateY(0vmin);
}

#grid_6_0:checked~.view .map .grid[for="grid_7_0"],
#grid_6_0:checked~.view .map .grid[for="grid_5_0"],
#grid_6_0:checked~.view .map .grid[for="grid_6_1"],
#grid_6_0:checked~.view .map .grid[for="grid_6_-1"] {
  pointer-events: auto;
}

#grid_6_0:checked~.view .map .grid.wall,
#grid_6_0:checked~.view .map .grid.tree,
#grid_6_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_0:checked~.view .map .grid [for="key_6_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_0:checked~.view .map .grid [data-key="6_0"] {
  display: none;
}

#lock_6_0:checked~.view .map .grid [for="lock_6_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_0:checked~.view .character {
  animation: animate-character_6_0 1024ms step-end;
}

@keyframes animate-character_6_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_1:checked~.view .map {
  transform: translateX(-150vmin) translateY(-25vmin);
}

#grid_6_1:checked~.view .map .grid[for="grid_7_1"],
#grid_6_1:checked~.view .map .grid[for="grid_5_1"],
#grid_6_1:checked~.view .map .grid[for="grid_6_2"],
#grid_6_1:checked~.view .map .grid[for="grid_6_0"] {
  pointer-events: auto;
}

#grid_6_1:checked~.view .map .grid.wall,
#grid_6_1:checked~.view .map .grid.tree,
#grid_6_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_1:checked~.view .map .grid [for="key_6_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_1:checked~.view .map .grid [data-key="6_1"] {
  display: none;
}

#lock_6_1:checked~.view .map .grid [for="lock_6_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_1:checked~.view .character {
  animation: animate-character_6_1 1024ms step-end;
}

@keyframes animate-character_6_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_2:checked~.view .map {
  transform: translateX(-150vmin) translateY(-50vmin);
}

#grid_6_2:checked~.view .map .grid[for="grid_7_2"],
#grid_6_2:checked~.view .map .grid[for="grid_5_2"],
#grid_6_2:checked~.view .map .grid[for="grid_6_3"],
#grid_6_2:checked~.view .map .grid[for="grid_6_1"] {
  pointer-events: auto;
}

#grid_6_2:checked~.view .map .grid.wall,
#grid_6_2:checked~.view .map .grid.tree,
#grid_6_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_2:checked~.view .map .grid [for="key_6_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_2:checked~.view .map .grid [data-key="6_2"] {
  display: none;
}

#lock_6_2:checked~.view .map .grid [for="lock_6_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_2:checked~.view .character {
  animation: animate-character_6_2 1024ms step-end;
}

@keyframes animate-character_6_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_3:checked~.view .map {
  transform: translateX(-150vmin) translateY(-75vmin);
}

#grid_6_3:checked~.view .map .grid[for="grid_7_3"],
#grid_6_3:checked~.view .map .grid[for="grid_5_3"],
#grid_6_3:checked~.view .map .grid[for="grid_6_4"],
#grid_6_3:checked~.view .map .grid[for="grid_6_2"] {
  pointer-events: auto;
}

#grid_6_3:checked~.view .map .grid.wall,
#grid_6_3:checked~.view .map .grid.tree,
#grid_6_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_3:checked~.view .map .grid [for="key_6_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_3:checked~.view .map .grid [data-key="6_3"] {
  display: none;
}

#lock_6_3:checked~.view .map .grid [for="lock_6_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_3:checked~.view .character {
  animation: animate-character_6_3 1024ms step-end;
}

@keyframes animate-character_6_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_4:checked~.view .map {
  transform: translateX(-150vmin) translateY(-100vmin);
}

#grid_6_4:checked~.view .map .grid[for="grid_7_4"],
#grid_6_4:checked~.view .map .grid[for="grid_5_4"],
#grid_6_4:checked~.view .map .grid[for="grid_6_5"],
#grid_6_4:checked~.view .map .grid[for="grid_6_3"] {
  pointer-events: auto;
}

#grid_6_4:checked~.view .map .grid.wall,
#grid_6_4:checked~.view .map .grid.tree,
#grid_6_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_4:checked~.view .map .grid [for="key_6_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_4:checked~.view .map .grid [data-key="6_4"] {
  display: none;
}

#lock_6_4:checked~.view .map .grid [for="lock_6_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_4:checked~.view .character {
  animation: animate-character_6_4 1024ms step-end;
}

@keyframes animate-character_6_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_5:checked~.view .map {
  transform: translateX(-150vmin) translateY(-125vmin);
}

#grid_6_5:checked~.view .map .grid[for="grid_7_5"],
#grid_6_5:checked~.view .map .grid[for="grid_5_5"],
#grid_6_5:checked~.view .map .grid[for="grid_6_6"],
#grid_6_5:checked~.view .map .grid[for="grid_6_4"] {
  pointer-events: auto;
}

#grid_6_5:checked~.view .map .grid.wall,
#grid_6_5:checked~.view .map .grid.tree,
#grid_6_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_5:checked~.view .map .grid [for="key_6_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_5:checked~.view .map .grid [data-key="6_5"] {
  display: none;
}

#lock_6_5:checked~.view .map .grid [for="lock_6_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_5:checked~.view .character {
  animation: animate-character_6_5 1024ms step-end;
}

@keyframes animate-character_6_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_6:checked~.view .map {
  transform: translateX(-150vmin) translateY(-150vmin);
}

#grid_6_6:checked~.view .map .grid[for="grid_7_6"],
#grid_6_6:checked~.view .map .grid[for="grid_5_6"],
#grid_6_6:checked~.view .map .grid[for="grid_6_7"],
#grid_6_6:checked~.view .map .grid[for="grid_6_5"] {
  pointer-events: auto;
}

#grid_6_6:checked~.view .map .grid.wall,
#grid_6_6:checked~.view .map .grid.tree,
#grid_6_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_6:checked~.view .map .grid [for="key_6_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_6:checked~.view .map .grid [data-key="6_6"] {
  display: none;
}

#lock_6_6:checked~.view .map .grid [for="lock_6_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_6:checked~.view .character {
  animation: animate-character_6_6 1024ms step-end;
}

@keyframes animate-character_6_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_7:checked~.view .map {
  transform: translateX(-150vmin) translateY(-175vmin);
}

#grid_6_7:checked~.view .map .grid[for="grid_7_7"],
#grid_6_7:checked~.view .map .grid[for="grid_5_7"],
#grid_6_7:checked~.view .map .grid[for="grid_6_8"],
#grid_6_7:checked~.view .map .grid[for="grid_6_6"] {
  pointer-events: auto;
}

#grid_6_7:checked~.view .map .grid.wall,
#grid_6_7:checked~.view .map .grid.tree,
#grid_6_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_7:checked~.view .map .grid [for="key_6_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_7:checked~.view .map .grid [data-key="6_7"] {
  display: none;
}

#lock_6_7:checked~.view .map .grid [for="lock_6_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_7:checked~.view .character {
  animation: animate-character_6_7 1024ms step-end;
}

@keyframes animate-character_6_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_8:checked~.view .map {
  transform: translateX(-150vmin) translateY(-200vmin);
}

#grid_6_8:checked~.view .map .grid[for="grid_7_8"],
#grid_6_8:checked~.view .map .grid[for="grid_5_8"],
#grid_6_8:checked~.view .map .grid[for="grid_6_9"],
#grid_6_8:checked~.view .map .grid[for="grid_6_7"] {
  pointer-events: auto;
}

#grid_6_8:checked~.view .map .grid.wall,
#grid_6_8:checked~.view .map .grid.tree,
#grid_6_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_8:checked~.view .map .grid [for="key_6_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_8:checked~.view .map .grid [data-key="6_8"] {
  display: none;
}

#lock_6_8:checked~.view .map .grid [for="lock_6_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_8:checked~.view .character {
  animation: animate-character_6_8 1024ms step-end;
}

@keyframes animate-character_6_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_6_9:checked~.view .map {
  transform: translateX(-150vmin) translateY(-225vmin);
}

#grid_6_9:checked~.view .map .grid[for="grid_7_9"],
#grid_6_9:checked~.view .map .grid[for="grid_5_9"],
#grid_6_9:checked~.view .map .grid[for="grid_6_10"],
#grid_6_9:checked~.view .map .grid[for="grid_6_8"] {
  pointer-events: auto;
}

#grid_6_9:checked~.view .map .grid.wall,
#grid_6_9:checked~.view .map .grid.tree,
#grid_6_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_6_9:checked~.view .map .grid [for="key_6_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_6_9:checked~.view .map .grid [data-key="6_9"] {
  display: none;
}

#lock_6_9:checked~.view .map .grid [for="lock_6_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_6_9:checked~.view .character {
  animation: animate-character_6_9 1024ms step-end;
}

@keyframes animate-character_6_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_0:checked~.view .map {
  transform: translateX(-175vmin) translateY(0vmin);
}

#grid_7_0:checked~.view .map .grid[for="grid_8_0"],
#grid_7_0:checked~.view .map .grid[for="grid_6_0"],
#grid_7_0:checked~.view .map .grid[for="grid_7_1"],
#grid_7_0:checked~.view .map .grid[for="grid_7_-1"] {
  pointer-events: auto;
}

#grid_7_0:checked~.view .map .grid.wall,
#grid_7_0:checked~.view .map .grid.tree,
#grid_7_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_0:checked~.view .map .grid [for="key_7_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_0:checked~.view .map .grid [data-key="7_0"] {
  display: none;
}

#lock_7_0:checked~.view .map .grid [for="lock_7_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_0:checked~.view .character {
  animation: animate-character_7_0 1024ms step-end;
}

@keyframes animate-character_7_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_1:checked~.view .map {
  transform: translateX(-175vmin) translateY(-25vmin);
}

#grid_7_1:checked~.view .map .grid[for="grid_8_1"],
#grid_7_1:checked~.view .map .grid[for="grid_6_1"],
#grid_7_1:checked~.view .map .grid[for="grid_7_2"],
#grid_7_1:checked~.view .map .grid[for="grid_7_0"] {
  pointer-events: auto;
}

#grid_7_1:checked~.view .map .grid.wall,
#grid_7_1:checked~.view .map .grid.tree,
#grid_7_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_1:checked~.view .map .grid [for="key_7_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_1:checked~.view .map .grid [data-key="7_1"] {
  display: none;
}

#lock_7_1:checked~.view .map .grid [for="lock_7_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_1:checked~.view .character {
  animation: animate-character_7_1 1024ms step-end;
}

@keyframes animate-character_7_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_2:checked~.view .map {
  transform: translateX(-175vmin) translateY(-50vmin);
}

#grid_7_2:checked~.view .map .grid[for="grid_8_2"],
#grid_7_2:checked~.view .map .grid[for="grid_6_2"],
#grid_7_2:checked~.view .map .grid[for="grid_7_3"],
#grid_7_2:checked~.view .map .grid[for="grid_7_1"] {
  pointer-events: auto;
}

#grid_7_2:checked~.view .map .grid.wall,
#grid_7_2:checked~.view .map .grid.tree,
#grid_7_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_2:checked~.view .map .grid [for="key_7_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_2:checked~.view .map .grid [data-key="7_2"] {
  display: none;
}

#lock_7_2:checked~.view .map .grid [for="lock_7_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_2:checked~.view .character {
  animation: animate-character_7_2 1024ms step-end;
}

@keyframes animate-character_7_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_3:checked~.view .map {
  transform: translateX(-175vmin) translateY(-75vmin);
}

#grid_7_3:checked~.view .map .grid[for="grid_8_3"],
#grid_7_3:checked~.view .map .grid[for="grid_6_3"],
#grid_7_3:checked~.view .map .grid[for="grid_7_4"],
#grid_7_3:checked~.view .map .grid[for="grid_7_2"] {
  pointer-events: auto;
}

#grid_7_3:checked~.view .map .grid.wall,
#grid_7_3:checked~.view .map .grid.tree,
#grid_7_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_3:checked~.view .map .grid [for="key_7_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_3:checked~.view .map .grid [data-key="7_3"] {
  display: none;
}

#lock_7_3:checked~.view .map .grid [for="lock_7_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_3:checked~.view .character {
  animation: animate-character_7_3 1024ms step-end;
}

@keyframes animate-character_7_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_4:checked~.view .map {
  transform: translateX(-175vmin) translateY(-100vmin);
}

#grid_7_4:checked~.view .map .grid[for="grid_8_4"],
#grid_7_4:checked~.view .map .grid[for="grid_6_4"],
#grid_7_4:checked~.view .map .grid[for="grid_7_5"],
#grid_7_4:checked~.view .map .grid[for="grid_7_3"] {
  pointer-events: auto;
}

#grid_7_4:checked~.view .map .grid.wall,
#grid_7_4:checked~.view .map .grid.tree,
#grid_7_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_4:checked~.view .map .grid [for="key_7_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_4:checked~.view .map .grid [data-key="7_4"] {
  display: none;
}

#lock_7_4:checked~.view .map .grid [for="lock_7_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_4:checked~.view .character {
  animation: animate-character_7_4 1024ms step-end;
}

@keyframes animate-character_7_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_5:checked~.view .map {
  transform: translateX(-175vmin) translateY(-125vmin);
}

#grid_7_5:checked~.view .map .grid[for="grid_8_5"],
#grid_7_5:checked~.view .map .grid[for="grid_6_5"],
#grid_7_5:checked~.view .map .grid[for="grid_7_6"],
#grid_7_5:checked~.view .map .grid[for="grid_7_4"] {
  pointer-events: auto;
}

#grid_7_5:checked~.view .map .grid.wall,
#grid_7_5:checked~.view .map .grid.tree,
#grid_7_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_5:checked~.view .map .grid [for="key_7_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_5:checked~.view .map .grid [data-key="7_5"] {
  display: none;
}

#lock_7_5:checked~.view .map .grid [for="lock_7_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_5:checked~.view .character {
  animation: animate-character_7_5 1024ms step-end;
}

@keyframes animate-character_7_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_6:checked~.view .map {
  transform: translateX(-175vmin) translateY(-150vmin);
}

#grid_7_6:checked~.view .map .grid[for="grid_8_6"],
#grid_7_6:checked~.view .map .grid[for="grid_6_6"],
#grid_7_6:checked~.view .map .grid[for="grid_7_7"],
#grid_7_6:checked~.view .map .grid[for="grid_7_5"] {
  pointer-events: auto;
}

#grid_7_6:checked~.view .map .grid.wall,
#grid_7_6:checked~.view .map .grid.tree,
#grid_7_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_6:checked~.view .map .grid [for="key_7_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_6:checked~.view .map .grid [data-key="7_6"] {
  display: none;
}

#lock_7_6:checked~.view .map .grid [for="lock_7_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_6:checked~.view .character {
  animation: animate-character_7_6 1024ms step-end;
}

@keyframes animate-character_7_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_7:checked~.view .map {
  transform: translateX(-175vmin) translateY(-175vmin);
}

#grid_7_7:checked~.view .map .grid[for="grid_8_7"],
#grid_7_7:checked~.view .map .grid[for="grid_6_7"],
#grid_7_7:checked~.view .map .grid[for="grid_7_8"],
#grid_7_7:checked~.view .map .grid[for="grid_7_6"] {
  pointer-events: auto;
}

#grid_7_7:checked~.view .map .grid.wall,
#grid_7_7:checked~.view .map .grid.tree,
#grid_7_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_7:checked~.view .map .grid [for="key_7_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_7:checked~.view .map .grid [data-key="7_7"] {
  display: none;
}

#lock_7_7:checked~.view .map .grid [for="lock_7_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_7:checked~.view .character {
  animation: animate-character_7_7 1024ms step-end;
}

@keyframes animate-character_7_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_8:checked~.view .map {
  transform: translateX(-175vmin) translateY(-200vmin);
}

#grid_7_8:checked~.view .map .grid[for="grid_8_8"],
#grid_7_8:checked~.view .map .grid[for="grid_6_8"],
#grid_7_8:checked~.view .map .grid[for="grid_7_9"],
#grid_7_8:checked~.view .map .grid[for="grid_7_7"] {
  pointer-events: auto;
}

#grid_7_8:checked~.view .map .grid.wall,
#grid_7_8:checked~.view .map .grid.tree,
#grid_7_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_8:checked~.view .map .grid [for="key_7_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_8:checked~.view .map .grid [data-key="7_8"] {
  display: none;
}

#lock_7_8:checked~.view .map .grid [for="lock_7_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_8:checked~.view .character {
  animation: animate-character_7_8 1024ms step-end;
}

@keyframes animate-character_7_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_7_9:checked~.view .map {
  transform: translateX(-175vmin) translateY(-225vmin);
}

#grid_7_9:checked~.view .map .grid[for="grid_8_9"],
#grid_7_9:checked~.view .map .grid[for="grid_6_9"],
#grid_7_9:checked~.view .map .grid[for="grid_7_10"],
#grid_7_9:checked~.view .map .grid[for="grid_7_8"] {
  pointer-events: auto;
}

#grid_7_9:checked~.view .map .grid.wall,
#grid_7_9:checked~.view .map .grid.tree,
#grid_7_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_7_9:checked~.view .map .grid [for="key_7_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_7_9:checked~.view .map .grid [data-key="7_9"] {
  display: none;
}

#lock_7_9:checked~.view .map .grid [for="lock_7_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_7_9:checked~.view .character {
  animation: animate-character_7_9 1024ms step-end;
}

@keyframes animate-character_7_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_0:checked~.view .map {
  transform: translateX(-200vmin) translateY(0vmin);
}

#grid_8_0:checked~.view .map .grid[for="grid_9_0"],
#grid_8_0:checked~.view .map .grid[for="grid_7_0"],
#grid_8_0:checked~.view .map .grid[for="grid_8_1"],
#grid_8_0:checked~.view .map .grid[for="grid_8_-1"] {
  pointer-events: auto;
}

#grid_8_0:checked~.view .map .grid.wall,
#grid_8_0:checked~.view .map .grid.tree,
#grid_8_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_0:checked~.view .map .grid [for="key_8_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_0:checked~.view .map .grid [data-key="8_0"] {
  display: none;
}

#lock_8_0:checked~.view .map .grid [for="lock_8_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_0:checked~.view .character {
  animation: animate-character_8_0 1024ms step-end;
}

@keyframes animate-character_8_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_1:checked~.view .map {
  transform: translateX(-200vmin) translateY(-25vmin);
}

#grid_8_1:checked~.view .map .grid[for="grid_9_1"],
#grid_8_1:checked~.view .map .grid[for="grid_7_1"],
#grid_8_1:checked~.view .map .grid[for="grid_8_2"],
#grid_8_1:checked~.view .map .grid[for="grid_8_0"] {
  pointer-events: auto;
}

#grid_8_1:checked~.view .map .grid.wall,
#grid_8_1:checked~.view .map .grid.tree,
#grid_8_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_1:checked~.view .map .grid [for="key_8_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_1:checked~.view .map .grid [data-key="8_1"] {
  display: none;
}

#lock_8_1:checked~.view .map .grid [for="lock_8_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_1:checked~.view .character {
  animation: animate-character_8_1 1024ms step-end;
}

@keyframes animate-character_8_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_2:checked~.view .map {
  transform: translateX(-200vmin) translateY(-50vmin);
}

#grid_8_2:checked~.view .map .grid[for="grid_9_2"],
#grid_8_2:checked~.view .map .grid[for="grid_7_2"],
#grid_8_2:checked~.view .map .grid[for="grid_8_3"],
#grid_8_2:checked~.view .map .grid[for="grid_8_1"] {
  pointer-events: auto;
}

#grid_8_2:checked~.view .map .grid.wall,
#grid_8_2:checked~.view .map .grid.tree,
#grid_8_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_2:checked~.view .map .grid [for="key_8_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_2:checked~.view .map .grid [data-key="8_2"] {
  display: none;
}

#lock_8_2:checked~.view .map .grid [for="lock_8_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_2:checked~.view .character {
  animation: animate-character_8_2 1024ms step-end;
}

@keyframes animate-character_8_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_3:checked~.view .map {
  transform: translateX(-200vmin) translateY(-75vmin);
}

#grid_8_3:checked~.view .map .grid[for="grid_9_3"],
#grid_8_3:checked~.view .map .grid[for="grid_7_3"],
#grid_8_3:checked~.view .map .grid[for="grid_8_4"],
#grid_8_3:checked~.view .map .grid[for="grid_8_2"] {
  pointer-events: auto;
}

#grid_8_3:checked~.view .map .grid.wall,
#grid_8_3:checked~.view .map .grid.tree,
#grid_8_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_3:checked~.view .map .grid [for="key_8_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_3:checked~.view .map .grid [data-key="8_3"] {
  display: none;
}

#lock_8_3:checked~.view .map .grid [for="lock_8_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_3:checked~.view .character {
  animation: animate-character_8_3 1024ms step-end;
}

@keyframes animate-character_8_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_4:checked~.view .map {
  transform: translateX(-200vmin) translateY(-100vmin);
}

#grid_8_4:checked~.view .map .grid[for="grid_9_4"],
#grid_8_4:checked~.view .map .grid[for="grid_7_4"],
#grid_8_4:checked~.view .map .grid[for="grid_8_5"],
#grid_8_4:checked~.view .map .grid[for="grid_8_3"] {
  pointer-events: auto;
}

#grid_8_4:checked~.view .map .grid.wall,
#grid_8_4:checked~.view .map .grid.tree,
#grid_8_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_4:checked~.view .map .grid [for="key_8_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_4:checked~.view .map .grid [data-key="8_4"] {
  display: none;
}

#lock_8_4:checked~.view .map .grid [for="lock_8_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_4:checked~.view .character {
  animation: animate-character_8_4 1024ms step-end;
}

@keyframes animate-character_8_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_5:checked~.view .map {
  transform: translateX(-200vmin) translateY(-125vmin);
}

#grid_8_5:checked~.view .map .grid[for="grid_9_5"],
#grid_8_5:checked~.view .map .grid[for="grid_7_5"],
#grid_8_5:checked~.view .map .grid[for="grid_8_6"],
#grid_8_5:checked~.view .map .grid[for="grid_8_4"] {
  pointer-events: auto;
}

#grid_8_5:checked~.view .map .grid.wall,
#grid_8_5:checked~.view .map .grid.tree,
#grid_8_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_5:checked~.view .map .grid [for="key_8_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_5:checked~.view .map .grid [data-key="8_5"] {
  display: none;
}

#lock_8_5:checked~.view .map .grid [for="lock_8_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_5:checked~.view .character {
  animation: animate-character_8_5 1024ms step-end;
}

@keyframes animate-character_8_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_6:checked~.view .map {
  transform: translateX(-200vmin) translateY(-150vmin);
}

#grid_8_6:checked~.view .map .grid[for="grid_9_6"],
#grid_8_6:checked~.view .map .grid[for="grid_7_6"],
#grid_8_6:checked~.view .map .grid[for="grid_8_7"],
#grid_8_6:checked~.view .map .grid[for="grid_8_5"] {
  pointer-events: auto;
}

#grid_8_6:checked~.view .map .grid.wall,
#grid_8_6:checked~.view .map .grid.tree,
#grid_8_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_6:checked~.view .map .grid [for="key_8_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_6:checked~.view .map .grid [data-key="8_6"] {
  display: none;
}

#lock_8_6:checked~.view .map .grid [for="lock_8_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_6:checked~.view .character {
  animation: animate-character_8_6 1024ms step-end;
}

@keyframes animate-character_8_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_7:checked~.view .map {
  transform: translateX(-200vmin) translateY(-175vmin);
}

#grid_8_7:checked~.view .map .grid[for="grid_9_7"],
#grid_8_7:checked~.view .map .grid[for="grid_7_7"],
#grid_8_7:checked~.view .map .grid[for="grid_8_8"],
#grid_8_7:checked~.view .map .grid[for="grid_8_6"] {
  pointer-events: auto;
}

#grid_8_7:checked~.view .map .grid.wall,
#grid_8_7:checked~.view .map .grid.tree,
#grid_8_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_7:checked~.view .map .grid [for="key_8_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_7:checked~.view .map .grid [data-key="8_7"] {
  display: none;
}

#lock_8_7:checked~.view .map .grid [for="lock_8_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_7:checked~.view .character {
  animation: animate-character_8_7 1024ms step-end;
}

@keyframes animate-character_8_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_8:checked~.view .map {
  transform: translateX(-200vmin) translateY(-200vmin);
}

#grid_8_8:checked~.view .map .grid[for="grid_9_8"],
#grid_8_8:checked~.view .map .grid[for="grid_7_8"],
#grid_8_8:checked~.view .map .grid[for="grid_8_9"],
#grid_8_8:checked~.view .map .grid[for="grid_8_7"] {
  pointer-events: auto;
}

#grid_8_8:checked~.view .map .grid.wall,
#grid_8_8:checked~.view .map .grid.tree,
#grid_8_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_8:checked~.view .map .grid [for="key_8_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_8:checked~.view .map .grid [data-key="8_8"] {
  display: none;
}

#lock_8_8:checked~.view .map .grid [for="lock_8_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_8:checked~.view .character {
  animation: animate-character_8_8 1024ms step-end;
}

@keyframes animate-character_8_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_8_9:checked~.view .map {
  transform: translateX(-200vmin) translateY(-225vmin);
}

#grid_8_9:checked~.view .map .grid[for="grid_9_9"],
#grid_8_9:checked~.view .map .grid[for="grid_7_9"],
#grid_8_9:checked~.view .map .grid[for="grid_8_10"],
#grid_8_9:checked~.view .map .grid[for="grid_8_8"] {
  pointer-events: auto;
}

#grid_8_9:checked~.view .map .grid.wall,
#grid_8_9:checked~.view .map .grid.tree,
#grid_8_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_8_9:checked~.view .map .grid [for="key_8_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_8_9:checked~.view .map .grid [data-key="8_9"] {
  display: none;
}

#lock_8_9:checked~.view .map .grid [for="lock_8_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_8_9:checked~.view .character {
  animation: animate-character_8_9 1024ms step-end;
}

@keyframes animate-character_8_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_0:checked~.view .map {
  transform: translateX(-225vmin) translateY(0vmin);
}

#grid_9_0:checked~.view .map .grid[for="grid_10_0"],
#grid_9_0:checked~.view .map .grid[for="grid_8_0"],
#grid_9_0:checked~.view .map .grid[for="grid_9_1"],
#grid_9_0:checked~.view .map .grid[for="grid_9_-1"] {
  pointer-events: auto;
}

#grid_9_0:checked~.view .map .grid.wall,
#grid_9_0:checked~.view .map .grid.tree,
#grid_9_0:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_0:checked~.view .map .grid [for="key_9_0"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_0:checked~.view .map .grid [data-key="9_0"] {
  display: none;
}

#lock_9_0:checked~.view .map .grid [for="lock_9_0"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_0:checked~.view .character {
  animation: animate-character_9_0 1024ms step-end;
}

@keyframes animate-character_9_0 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_1:checked~.view .map {
  transform: translateX(-225vmin) translateY(-25vmin);
}

#grid_9_1:checked~.view .map .grid[for="grid_10_1"],
#grid_9_1:checked~.view .map .grid[for="grid_8_1"],
#grid_9_1:checked~.view .map .grid[for="grid_9_2"],
#grid_9_1:checked~.view .map .grid[for="grid_9_0"] {
  pointer-events: auto;
}

#grid_9_1:checked~.view .map .grid.wall,
#grid_9_1:checked~.view .map .grid.tree,
#grid_9_1:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_1:checked~.view .map .grid [for="key_9_1"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_1:checked~.view .map .grid [data-key="9_1"] {
  display: none;
}

#lock_9_1:checked~.view .map .grid [for="lock_9_1"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_1:checked~.view .character {
  animation: animate-character_9_1 1024ms step-end;
}

@keyframes animate-character_9_1 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_2:checked~.view .map {
  transform: translateX(-225vmin) translateY(-50vmin);
}

#grid_9_2:checked~.view .map .grid[for="grid_10_2"],
#grid_9_2:checked~.view .map .grid[for="grid_8_2"],
#grid_9_2:checked~.view .map .grid[for="grid_9_3"],
#grid_9_2:checked~.view .map .grid[for="grid_9_1"] {
  pointer-events: auto;
}

#grid_9_2:checked~.view .map .grid.wall,
#grid_9_2:checked~.view .map .grid.tree,
#grid_9_2:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_2:checked~.view .map .grid [for="key_9_2"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_2:checked~.view .map .grid [data-key="9_2"] {
  display: none;
}

#lock_9_2:checked~.view .map .grid [for="lock_9_2"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_2:checked~.view .character {
  animation: animate-character_9_2 1024ms step-end;
}

@keyframes animate-character_9_2 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_3:checked~.view .map {
  transform: translateX(-225vmin) translateY(-75vmin);
}

#grid_9_3:checked~.view .map .grid[for="grid_10_3"],
#grid_9_3:checked~.view .map .grid[for="grid_8_3"],
#grid_9_3:checked~.view .map .grid[for="grid_9_4"],
#grid_9_3:checked~.view .map .grid[for="grid_9_2"] {
  pointer-events: auto;
}

#grid_9_3:checked~.view .map .grid.wall,
#grid_9_3:checked~.view .map .grid.tree,
#grid_9_3:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_3:checked~.view .map .grid [for="key_9_3"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_3:checked~.view .map .grid [data-key="9_3"] {
  display: none;
}

#lock_9_3:checked~.view .map .grid [for="lock_9_3"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_3:checked~.view .character {
  animation: animate-character_9_3 1024ms step-end;
}

@keyframes animate-character_9_3 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_4:checked~.view .map {
  transform: translateX(-225vmin) translateY(-100vmin);
}

#grid_9_4:checked~.view .map .grid[for="grid_10_4"],
#grid_9_4:checked~.view .map .grid[for="grid_8_4"],
#grid_9_4:checked~.view .map .grid[for="grid_9_5"],
#grid_9_4:checked~.view .map .grid[for="grid_9_3"] {
  pointer-events: auto;
}

#grid_9_4:checked~.view .map .grid.wall,
#grid_9_4:checked~.view .map .grid.tree,
#grid_9_4:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_4:checked~.view .map .grid [for="key_9_4"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_4:checked~.view .map .grid [data-key="9_4"] {
  display: none;
}

#lock_9_4:checked~.view .map .grid [for="lock_9_4"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_4:checked~.view .character {
  animation: animate-character_9_4 1024ms step-end;
}

@keyframes animate-character_9_4 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_5:checked~.view .map {
  transform: translateX(-225vmin) translateY(-125vmin);
}

#grid_9_5:checked~.view .map .grid[for="grid_10_5"],
#grid_9_5:checked~.view .map .grid[for="grid_8_5"],
#grid_9_5:checked~.view .map .grid[for="grid_9_6"],
#grid_9_5:checked~.view .map .grid[for="grid_9_4"] {
  pointer-events: auto;
}

#grid_9_5:checked~.view .map .grid.wall,
#grid_9_5:checked~.view .map .grid.tree,
#grid_9_5:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_5:checked~.view .map .grid [for="key_9_5"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_5:checked~.view .map .grid [data-key="9_5"] {
  display: none;
}

#lock_9_5:checked~.view .map .grid [for="lock_9_5"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_5:checked~.view .character {
  animation: animate-character_9_5 1024ms step-end;
}

@keyframes animate-character_9_5 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_6:checked~.view .map {
  transform: translateX(-225vmin) translateY(-150vmin);
}

#grid_9_6:checked~.view .map .grid[for="grid_10_6"],
#grid_9_6:checked~.view .map .grid[for="grid_8_6"],
#grid_9_6:checked~.view .map .grid[for="grid_9_7"],
#grid_9_6:checked~.view .map .grid[for="grid_9_5"] {
  pointer-events: auto;
}

#grid_9_6:checked~.view .map .grid.wall,
#grid_9_6:checked~.view .map .grid.tree,
#grid_9_6:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_6:checked~.view .map .grid [for="key_9_6"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_6:checked~.view .map .grid [data-key="9_6"] {
  display: none;
}

#lock_9_6:checked~.view .map .grid [for="lock_9_6"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_6:checked~.view .character {
  animation: animate-character_9_6 1024ms step-end;
}

@keyframes animate-character_9_6 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_7:checked~.view .map {
  transform: translateX(-225vmin) translateY(-175vmin);
}

#grid_9_7:checked~.view .map .grid[for="grid_10_7"],
#grid_9_7:checked~.view .map .grid[for="grid_8_7"],
#grid_9_7:checked~.view .map .grid[for="grid_9_8"],
#grid_9_7:checked~.view .map .grid[for="grid_9_6"] {
  pointer-events: auto;
}

#grid_9_7:checked~.view .map .grid.wall,
#grid_9_7:checked~.view .map .grid.tree,
#grid_9_7:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_7:checked~.view .map .grid [for="key_9_7"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_7:checked~.view .map .grid [data-key="9_7"] {
  display: none;
}

#lock_9_7:checked~.view .map .grid [for="lock_9_7"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_7:checked~.view .character {
  animation: animate-character_9_7 1024ms step-end;
}

@keyframes animate-character_9_7 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_8:checked~.view .map {
  transform: translateX(-225vmin) translateY(-200vmin);
}

#grid_9_8:checked~.view .map .grid[for="grid_10_8"],
#grid_9_8:checked~.view .map .grid[for="grid_8_8"],
#grid_9_8:checked~.view .map .grid[for="grid_9_9"],
#grid_9_8:checked~.view .map .grid[for="grid_9_7"] {
  pointer-events: auto;
}

#grid_9_8:checked~.view .map .grid.wall,
#grid_9_8:checked~.view .map .grid.tree,
#grid_9_8:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_8:checked~.view .map .grid [for="key_9_8"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_8:checked~.view .map .grid [data-key="9_8"] {
  display: none;
}

#lock_9_8:checked~.view .map .grid [for="lock_9_8"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_8:checked~.view .character {
  animation: animate-character_9_8 1024ms step-end;
}

@keyframes animate-character_9_8 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

#grid_9_9:checked~.view .map {
  transform: translateX(-225vmin) translateY(-225vmin);
}

#grid_9_9:checked~.view .map .grid[for="grid_10_9"],
#grid_9_9:checked~.view .map .grid[for="grid_8_9"],
#grid_9_9:checked~.view .map .grid[for="grid_9_10"],
#grid_9_9:checked~.view .map .grid[for="grid_9_8"] {
  pointer-events: auto;
}

#grid_9_9:checked~.view .map .grid.wall,
#grid_9_9:checked~.view .map .grid.tree,
#grid_9_9:checked~.view .map .grid.barrel {
  pointer-events: none;
}

#key_9_9:checked~.view .map .grid [for="key_9_9"] {
  opacity: 0;
  pointer-events: none;
}

#key_9_9:checked~.view .map .grid [data-key="9_9"] {
  display: none;
}

#lock_9_9:checked~.view .map .grid [for="lock_9_9"] {
  opacity: 0;
  pointer-events: none;
}

#grid_9_9:checked~.view .character {
  animation: animate-character_9_9 1024ms step-end;
}

@keyframes animate-character_9_9 {
  0% {
    background-position: -25vmin 0;
  }

  25% {
    background-position: -50vmin 0;
  }

  50% {
    background-position: -25vmin 0;
  }

  75% {
    background-position: -50vmin 0;
  }
}

.character {
  background-image: url("https://assets.codepen.io/430361/css-maze-character.png");
  background-size: 75vmin 25vmin;
  background-position: 0 0;
  width: 25vmin;
  height: 25vmin;
  position: absolute;
  top: 50%;
  left: 50%;
  image-rendering: pixelated;
  transform: translateX(-50%) translateY(-50%);
}

.fog {
  background-image: radial-gradient(circle at center,
      transparent 0 12.5vmin,
      #000000 37.5vmin);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.pre-dialog,
.post-dialog,
.lose-dialog {
  font-family: "Press Start 2P", cursive;
  font-size: 16px;
  text-align: center;
  width: 100%;
  height: 100%;
  padding: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  transition: opacity 512ms ease-out;
  transform: scale(0);
}

.pre-dialog::after,
.post-dialog::after,
.lose-dialog::after {
  content: "▼";
  position: absolute;
  bottom: 8px;
  right: 8px;
  animation: blink 1024ms ease-out infinite;
}

@keyframes blink {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.pre-dialog,
.lose-dialog {
  color: #ffffff;
  background-color: #000000;
}

#pre_dialog_0:checked~.view [id="pre_dialog_trigger_0"] {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

#pre_dialog_1:checked~.view [id="pre_dialog_trigger_1"] {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

#pre_dialog_2:checked~.view [id="pre_dialog_trigger_2"] {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.post-dialog {
  background-color: #ffffff;
  color: #000000;
}

#post_dialog_0:checked~#show_post_dialog:checked~.view [id="post_dialog_trigger_0"] {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

#post_dialog_1:checked~#show_post_dialog:checked~.view [id="post_dialog_trigger_1"] {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.lose-dialog {
  flex-direction: column;
  justify-content: space-evenly;
  transition: opacity 512ms ease-out 1024ms;
}

.reset {
  color: #000000;
  font-family: inherit;
  font-size: 1.3rem;
  font-weight: bold;
  background-color: transparent;
  background-image: url("https://assets.codepen.io/430361/css-maze-reset.png");
  background-size: 20rem 3.4722222222rem;
  width: 20rem;
  height: 3.4722222222rem;
  border: 0;
  outline: 0;
}

.monster-check:checked~.view .map .grid {
  pointer-events: none !important;
}

.monster-check:checked~.view .lose-dialog {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.monster-check:checked~.view .character {
  background-image: url("https://assets.codepen.io/430361/css-maze-character-faint.png");
  background-size: 75vmin 25vmin;
  background-position: -50vmin 0;
  animation: character-faint 512ms step-end !important;
}

@keyframes character-faint {
  0% {
    background-image: url("https://assets.codepen.io/430361/css-maze-character.png");
    background-position: 0 0;
  }

  33.33333% {
    background-image: url("https://assets.codepen.io/430361/css-maze-character-faint.png");
    background-position: 0 0;
  }

  66.66667% {
    background-position: -25vmin 0;
  }

  100% {
    background-position: -50vmin 0;
  }
}

Source Code