body *:not(script) {
  display: flex;
  flex-direction: column;
}

html {
  color: white;
  background-color: black;
  font-family: Arial;
}

button {
  border: 5px solid white;
  color: white;
  background-color: black;
  border-radius: 10px;
  padding: 10px 30px 10px;
  font-size: 20px;
  
  &:hover:enabled {
    background-color: gray;
  }
  
  &:active:enabled {
    background-color: darkgray;
  }
  
  &:disabled {
    color: gray;
    border: 5px solid gray;
  }
}

hr {
  border: 4px solid white;
  width: 100%;
}

.fixed_full_size {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.fixed_full_size_menu {
  align-items: center;
  position: fixed;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  left: 0;
  top: 0;
  padding: 10px;
  
  .back_button {
    position: absolute;
    left: 10px;
    top: 10px;
  }
}

.force_contents_overlay {
  display: grid;
  
  * {
    grid-row: 1;
    grid-column: 1;
  }
}

.full_size {
  width: 100%;
  height: 100%;
}

#scene_main_menu {
  align-items: center;
  justify-content: center;
  gap: 30px;
  
  h1 {
    font-size: 50px;
    margin-top: 0;
    margin-bottom: 30px;
  }
  
  button {
    border-radius: 10px;
    padding: 15px;
    font-size: 30px;
    width: 300px;
  }
}

#singleplayer_menu .bottom_row {
  flex-direction: row;
  gap: 10px;
}

#singleplayer_menu_worlds {
  flex-grow: 1;
  flex-shrink: 0;
  overflow-y: auto;
  width: 800px;
}

.singleplayer_menu_world {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  border: 3px solid black;
  border-radius: 10px;
  padding: 10px;
  
  span {
    font-size: 25px;
    flex-grow: 1;
  }
  
  &:hover {
    border: 3px solid rgb(64, 64, 64);
  }
}

#scene_game_loading {
  align-items: center;
  justify-content: center;
}

#data_overlay {
  position: absolute;
  left: 10px;
  top: 10px;
  font-size: 20px;
  width: calc(100% - 10px);
  line-break: anywhere;
  filter: drop-shadow(-1px -1px black) drop-shadow(-1px 1px black) drop-shadow(1px -1px black) drop-shadow(1px 1px black);
  
  div {
    display: block;
    
    * {
      display: inline-flex;
    }
  }
}

#cursor_overlay {
  position: absolute;
  left: calc(50% - 5px);
  top: calc(50% - 5px);
  width: 10px;
  height: 10px;
  backdrop-filter: invert();
  border-radius: 50%;
  /* https://stackoverflow.com/questions/3680429/click-through-div-to-underlying-elements/4839672#4839672 */
  pointer-events: none;
  
  & > div {
    position: absolute;
    left: calc(50% - 3px);
    top: calc(50% - 3px);
    width: 6px;
    height: 6px;
    background-color: white;
    border-radius: 50%;
  }
}

#menu_overlay {
  background-color: rgba(0, 0, 0, 0.5);
}
