:root {
  color-scheme: dark;
  font-family: system-ui, sans-serif;
  background: #0b0e14;
  color: #e6edf7;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

main {
  width: min(100% - 2rem, 80rem);
  margin: 0 auto;
  padding: 2rem 0 3rem;
}

header {
  max-width: 52rem;
}

.brand img {
  width: 7rem;
}

.eyebrow {
  color: #60dfbe;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

h1 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(2.5rem, 7vw, 5rem);
}

header p {
  line-height: 1.65;
}

.lab {
  margin-top: 2rem;
}

.toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

select,
button {
  min-height: 2.75rem;
  border: 1px solid #54627e;
  border-radius: 0.35rem;
  padding: 0.55rem 0.8rem;
  background: #141a24;
  color: inherit;
  font: inherit;
}

button {
  cursor: pointer;
}

#traffic-world {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  border: 1px solid #344056;
  background: #10141c;
  image-rendering: pixelated;
}

.status {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.75rem;
  color: #aebbd0;
  font-variant-numeric: tabular-nums;
}

#message {
  color: #60dfbe;
  font-weight: 700;
}

.measurement-output {
  max-height: 20rem;
  overflow: auto;
  padding: 0.75rem;
  border: 1px solid #344056;
  border-radius: 0.5rem;
  background: #111621;
  color: #aebbd0;
  white-space: pre-wrap;
}

footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-top: 2rem;
}

a {
  color: #79e8cc;
}

@media (max-width: 40rem) {
  main {
    width: min(100% - 1rem, 80rem);
    padding-top: 1rem;
  }

  .toolbar > * {
    flex: 1 1 auto;
  }
}
