.level {
  display: flex;
  margin: 0;
  padding: 0; }

.homepage {
  margin: 0;
  padding: 10px; }

.d-none {
  display: none;
  opacity: 0; }

.overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background: black;
  z-index: -1;
  opacity: 0;
  transition: opacity 1000ms; }

@keyframes vibe_w {
  from {
    width: 0;
    right: 0; }
  to {
    width: 5px;
    right: -5px; } }

.maingrid, .maingrid--15, .maingrid--10, .maingrid--8, .maingrid--4 {
  margin: 10px;
  position: relative;
  box-sizing: border-box;
  border: 2px solid black;
  display: inline-grid; }
  .maingrid--4 {
    width: 194px;
    min-width: 194px;
    height: 194px;
    min-height: 194px; }
  .maingrid--8 {
    width: 386px;
    min-width: 386px;
    height: 386px;
    min-height: 386px; }
  .maingrid--10 {
    width: 482px;
    min-width: 482px;
    height: 482px;
    min-height: 482px; }
  .maingrid--15 {
    width: 722px;
    min-width: 722px;
    height: 722px;
    min-height: 722px; }
  .maingrid .sq, .maingrid--4 .sq, .maingrid--8 .sq, .maingrid--10 .sq, .maingrid--15 .sq {
    height: 48px;
    background: url(dirt1.png); }
  .maingrid i, .maingrid--4 i, .maingrid--8 i, .maingrid--10 i, .maingrid--15 i {
    position: absolute; }

i {
  font-style: normal;
  font-weight: unset;
  font-size: 35px;
  padding: 2px;
  width: 48px;
  height: 48px;
  box-sizing: border-box;
  transition: left 200ms, top 200ms; }

.hud {
  display: flex;
  flex-direction: column;
  margin: 10px; }
  .hud > * {
    border-style: double;
    border-width: 5px;
    border-color: black;
    border-radius: 5px;
    margin-bottom: 10px;
    position: relative;
    transition: opacity 600ms;
    opacity: 1.0; }
  .hud .help {
    border-style: none; }
  .hud .invis {
    opacity: 0; }
  .hud label {
    position: absolute;
    top: -10px;
    left: 0;
    border-radius: 5px;
    font-size: 15px;
    background-color: black;
    color: white;
    z-index: 3; }
  .hud .bar {
    width: 200px;
    height: 15px; }
    .hud .bar span {
      position: absolute;
      left: 0;
      height: 15px;
      background: blue;
      transition: width 300ms; }
      .hud .bar span u {
        position: absolute;
        height: 15px;
        background: blue;
        text-decoration: none;
        animation-name: vibe_w;
        animation-duration: 650ms;
        animation-iteration-count: infinite;
        animation-direction: alternate;
        animation-timing-function: ease-in-out; }
  .hud .collection {
    padding-top: 10px; }
    .hud .collection i {
      display: inline-block; }
  .hud .textbox {
    position: absolute;
    padding-top: 10px;
    font-size: 15px;
    left: 10px;
    min-width: 200px;
    max-width: 480px;
    background-color: white;
    z-index: 4;
    box-sizing: border-box; }
    .hud .textbox.w-pfp {
      display: flex; }
      .hud .textbox.w-pfp img {
        width: 96px;
        height: 96px;
        flex-basis: 0;
        margin-right: 10px; }

#player {
  z-index: 2; }

.start {
  display: flex;
  justify-content: center;
  font-size: 50px;
  text-decoration: none;
  border: 4px black outset;
  border-radius: 4px;
  margin: 10px 100px; }
  .start:active {
    border-style: inset; }

.softkeys {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 5;
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: repeat(5, 1fr);
  width: 400px; }
  .softkeys button {
    width: 80px;
    height: 80px;
    font-size: 26.6666666667px; }
  .softkeys #key_up {
    transform: rotate(-90deg);
    grid-column: 2;
    grid-row: 1; }
  .softkeys #key_left {
    transform: rotate(180deg);
    grid-column: 1;
    grid-row: 2; }
  .softkeys #key_down {
    transform: rotate(90deg);
    grid-column: 2;
    grid-row: 2; }
  .softkeys #key_right {
    grid-column: 3;
    grid-row: 2; }
  .softkeys #key_interact {
    grid-column: 5;
    grid-row: 2; }

@media (hover: hover) {
  .softkeys {
    display: none; } }

.congrats {
  padding: 20px;
  border-style: double;
  border-width: 5px;
  border-color: black;
  border-radius: 5px; }
