:root {
  font-size: 12pt;
  color-scheme: light dark;
}

body {
  margin: 0;
  overflow: hidden;
  font-family: sans-serif;
}
canvas {
  width: 100svw;
  height: 100svh;
  user-interaction: manipulation;
}
#errors {
  position: absolute;
  bottom: 0em;
  background: Canvas;
  text-wrap: wrap;
}
#coords {
  position: absolute;
  bottom: 0em;
  background: Canvas;
  text-wrap: wrap;
  left: 0;
  padding: 0.5em 0.5em 0 0;
  border-radius: 0 1em 0 0;
}
#controls {
  position: absolute;
  top: 0;
  background: Canvas;
  border-right: thin solid;
  border-bottom: thin solid;
  border-radius: 0 0 1em 0;
  padding: 0 0.5em 0.5em 0.5em;
}

#controls form {
  display: flex;
  flex-wrap: wrap;
}

#controls form fieldset {
  flex-grow: 1;
  padding: 0;
  display: flex;
  justify-content: center;
}

fieldset p {
  margin-block: 0;
}

#controls input {
  width: 100%;
  display: inline-block;
}
#controls button {
  height: 2em;
}

#download progress:not([value]) {
  visibility: hidden;
}
#download a:not([href]) {
  visibility: hidden;
}

#coords input {
  width: 6em;
}

footer {
  position: absolute;
  bottom: 0;
  right: 0;
  padding-inline: 0.5em;
  color: white;
  & p {
    margin: 0;
  }

  & a {
    color: #8c8cff;
  }
}