* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --sans: "Open Sans", system-ui, sans-serif;
}

/* guspira sets --gui-font on .gui, and a nearer ancestor beats :root. */
.gui {
  --gui-font: var(--sans);
  width: 450px;
}


body {
  background: #11151c;
  overflow: hidden;
}

canvas {
  display: block;
}

#ui,
#readout {
  color: #b9b9be;
  font: 11px/1.5 var(--sans);
  /* Mostly per-frame numbers; proportional digits make them jitter. */
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  overflow-wrap: anywhere;
}

#gui.hidden {
  display: none;
}

#gui {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
  padding: 12px;
  max-height: 100vh;
}

#ui .hint,
#readout #imagery-status,
#readout #relief-status,
#readout #terrain-status,
#readout #detail-status,
#readout #water-status {
  color: #7e7e86;
}

#readout #imagery-status {
  margin-top: 6px;
}

#readout #relief-status,
#readout #terrain-status,
#readout #detail-status,
#readout #water-status {
  margin-top: 2px;
}

/* Pending work, as a line across the very top. Nothing to see when idle. */
#progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  z-index: 10000;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.25s ease 0.15s;
}

#progress.busy {
  opacity: 1;
  transition-delay: 0s;
}

#progress-fill {
  height: 100%;
  width: 0;
  background: #ffb703;
  transition: width 0.2s ease;
}

#progress-text {
  position: absolute;
  top: 8px;
  left: 12px;
  color: #ffb703;
  font: 600 12px/1 var(--sans);
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 3px #11151c;
  white-space: nowrap;
}

@media (max-width: 950px) {
  #gui {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px;
    max-height: none;
  }

  .gui {
    --gui-max-height: calc(70dvh);
    --gui-label-width: 104px;
    --gui-padding: 14px;
    width: auto;
  }
}

@media (pointer: coarse) {
  .gui {
    --gui-row-height: 34px;
    --gui-gap: 12px;
    --gui-check-size: 22px;
    --gui-track-height: 6px;
  }
}
