/* :root {
  --backgroundcolor: #000000;
  --textcolor: #ffffff;
  --linktextcolor: #94c1f3;
} */
@media (prefers-color-scheme:light) {
  :root {
    --backgroundcolor: #ffffff;
    --textcolor: #000000;
    --linktextcolor: #2e6099;
    --transparentcolor: #b5b5b580;
    --buttonhovercolor: #808080;
  }
  .dark {
    display: none !important;
  }
}
@media (prefers-color-scheme:dark) {
  :root {
    --backgroundcolor: #000000;
    --textcolor: #ffffff;
    --linktextcolor: #94c1f3;
    --transparentcolor: #6d6d6d80;
    --buttonhovercolor: #808080;
  }
  .light {
    display: none !important;
  }
}
@media (orientation:landscape) {
  :root {
    --sidemargin: 20vw;
    --titlewidth: 30vw;
    --textsize: 1.25rem;
    --textsmall: 1rem;
    --titlesize1: 2rem;
    --titlesize2: 1.5rem;
  }
  nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 2em;
    z-index: 100;
  }
  nav ul {
    display: flex;
    align-items: center;
    padding: 1em 2em 0.5em 1em;
    gap: 1em;
  }
  .mobile {
    display: none !important;
  }
  .half-side {
    width: 50%;
  }
  .reversed {
    flex-direction: row-reverse;
  }
  .reversed * {
    text-align: right;
  }
  .two-side {
    flex-wrap: nowrap;
  }
}
@media (orientation:portrait) {
  :root {
    --sidemargin: 5vw;
    --titlewidth: 50vw;
    --textsize: 1rem;
    --textsmall: 0.75rem;
    --titlesize1: 1.5rem;
    --titlesize2: 1.25rem;
  }
  nav {
    position: fixed;
    display: none;
    top: 3.5em;
    right: 0;
    z-index: 100;
  }
  nav ul {
    display: flex;
    flex-direction: column;
    gap: 2em;
    align-items: end;
    padding: 1em;
  }
  .desktop {
    display: none !important;
  }
  .half-side {
    width: 100%;
  }
  .two-side {
    flex-wrap: wrap;
  }
  .badges-box {
    justify-content: center;
  }
}
html {
  scroll-behavior: smooth;
  background-color: var(--backgroundcolor);
  color: var(--textcolor);
  overflow-x: hidden;
}
body {
  margin: 0;
}
nav ul li {
  all: unset;
  font-family: Helvetica, Arial, sans-serif;
}
nav ul li a {
  color: var(--textcolor);
  padding: 0.5em 1em;
  background: var(--backgroundcolor);
  border: 2px solid var(--textcolor);
}
nav ul li a:hover {
  text-decoration: none;
  color: var(--backgroundcolor);
  background: var(--textcolor);
}
svg {
  fill: var(--textcolor);
}
#nav-button {
  position: fixed;
  width: 2em;
  height: 2em;
  top: 1em;
  right: 1em;
}
h1 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: var(--titlesize1);
}
h2 {
  padding: 0 0.5rem;
  background: var(--textcolor);
  font-family: Helvetica, Arial, sans-serif;
  font-size: var(--titlesize2);
  color: var(--backgroundcolor);
}
h3 {
  padding: 0 0.5rem;
  font-family: Helvetica, Arial, sans-serif;
  font-size: var(--titlesize2);
  color: var(--textcolor);
  border-bottom: 2px solid var(--textcolor);
}
.text-area {
  margin: 0 var(--sidemargin);
  text-wrap: pretty;
}
.centered {
  display: flex;
  justify-content: center;
  align-items: center;
}
.full {
  display: flex;
  height: 100vh;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.fullscreen {
  height: 100vh;
  width: 100vw;
}
p {
  font-size: var(--textsize);
  font-family: Helvetica, Arial, sans-serif;
  margin: 0.5rem;
}
a {
  text-decoration: none;
  color: var(--linktextcolor);
  text-shadow: 1px 1px 0px var(--linkshadow);
}
a:hover {
  text-decoration: underline;
}
label {
  font-size: var(--textsize);
  font-family: Helvetica, Arial, sans-serif;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0.1em 0.5em;
  border: 2px solid var(--backgroundcolor);
}
select {
  all: unset;
  display: none;
  font-size: var(--textsize);
  font-family: Helvetica, Arial, sans-serif;
  color: var(--backgroundcolor);
  background: var(--textcolor);
  padding: 0.1em 0.5em;
}
button {
  all: unset;
  font-size: var(--textsize);
  font-family: Helvetica, Arial, sans-serif;
  background: var(--textcolor);
  color: var(--backgroundcolor);
  padding: 0.1em 0.5em;
}
button:disabled {
  background: var(--transparentcolor);
}
button:hover {
  background: var(--buttonhovercolor);
}
.two-side {
  display: flex;
}
.half-side img {
  width: 60%;
  object-fit: contain;
}
.column {
  display: flex;
  flex-direction: column;
}
footer {
  display: flex;
  flex-wrap: wrap;
  min-height: 4em;
  margin: 1em var(--sidemargin);
  padding-top: 1em;
  gap: 1em;
  border-top: 2px solid var(--transparentcolor);
}
footer div {
  display: flex;
  flex-direction: column;
  height: inherit;
  justify-content: center;
}
footer * p, footer * a {
  font-size: var(--textsmall);
  color: var(--textcolor);
  margin: 0.125em;
}
.micro-bar {
  image-rendering: pixelated;
  width: 132px;
  height: 46.5px;
}
.badges-box {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  margin: 1em inherit;
}
#title {
  height: 15vh;
  align-items: end;
}
#title h1 {
  border-bottom: 2px solid var(--textcolor);
  text-align: center;
  padding-bottom: 0.5em;
  width: var(--titlewidth);
}
#labels {
  gap: 1em;
  align-items: end;
}
.input-grid {
  width: 100%;
  display: flex;
}
#inputs, #inputs div {
  display: flex;
  gap: 1em 0.25em;
  text-align: left;
  overflow: hidden;
}
#inputs * button {
  /* width: calc(50% - 1.5em); */
  flex-basis: 1;
  margin: 0;
  overflow: hidden;
  text-wrap: nowrap;
  text-overflow: clip;
}
button.selected {
  background: var(--textcolor);
  color: var(--backgroundcolor);
  border: 2px solid var(--textcolor);
}
button.unselected {
  background: var(--backgroundcolor);
  color: var(--textcolor);
  border: 2px solid var(--textcolor);
}
button.selected:hover, button.unselected:hover {
  background: var(--buttonhovercolor);
  color: var(--backgroundcolor);
  border: 2px solid var(--buttonhovercolor);
}