* {
  font-family: "Quicksand", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  user-select: none;
}

*:not(html, head, meta, title, link, script, canvas, button, input, label) {
  display: flex;
  flex-direction: column;
}

html {
  width: 100vw;
  height: 100vh;
  position: absolute;
  overflow: hidden;
  visibility: hidden;
}

body {
  width: 100vw;
  height: 100vh;
  position: relative;
  align-items: center;
  justify-content: center;
  justify-items: center;
}

form {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1em;
}

form input {
  width: 100%;
  padding: .5em;
  border-radius: 6px;
  border: none;
  background-color: rgba(255, 255, 255, 0.1);
  color: white;
  font-size: 1em;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: all .18s ease;
}

form input::placeholder {
  color: white;
  opacity: 1;
}

form input[type="submit"] {
  cursor: pointer;
}

form input[type="submit"]:hover {
  background-color: #4CAF50;
}

box {
  backdrop-filter: blur(4px) saturate(120%);
  -webkit-backdrop-filter: blur(4px) saturate(120%);
  background: rgba(30, 30, 30, 0.25);
  border-radius: 12px;
  gap: 1em;
  padding: 2em;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.hidden {
  display: none !important;
}

.txtCenter {
  text-align: center;
}

.spaced {
  margin: 1em 0;
}

.flex {
  display: flex;
  width: 100%;
}

.flex.column {
  flex-direction: column;
}

.flex.row {
  flex-direction: row;
}

.flex.gaped {
  gap: 1em;
}

.flex.center {
  justify-content: center;
  justify-items: center;
  align-content: center;
  align-items: center;
}

.flex.no-space {
  margin: 0;
  padding: 0;
  justify-content: flex-start;
  align-items: flex-start;
}

.flex.space-around {
  justify-content: space-around;
}

.flex.space-between {
  justify-content: space-between;
}

.flex .ungaped {
  transform: translateY(-1em);
}

.llTitle {
  align-items: flex-end;
  flex-direction: row;
  justify-content: center;
  gap: .25em;
}

.llTitle .version {
  display: inline;
  font-size: .8em;
  color: rgba(255, 255, 255, 0.5);
  font-weight: 300;
}

#errorPage h2 {
  margin-top: -.75em;
}
