/* CSS files add styling rules to your content */

* {
  box-sizing: border-box;
}

body {
  font-family: "Benton Sans", "Helvetica Neue", helvetica, arial, sans-serif;
  padding: 1em;
  margin: 0;
  max-width: 100%;
}

form {
  display: block;
  grid-gap: .5em 1em;
  min-width: 300px;
  max-width: 400px;
  margin: 1em 0;
  grid-template-columns: auto;
}

h1 {
  margin-top: 0;
  font-style: italic;
  color: #373fff;
  max-width: calc(100% - 3em);
}

button {
  font: inherit;
  border: 2px solid currentColor;
  padding: .25em 1em;
  border-radius: 2em;
}
button:hover {
  background: #f0f0f0;
}

label {
  display: block;
}

input {
  width: 100%;
}

canvas {
  width: 512px;
  max-width: 100%;
  image-rendering: crisp-edges;
  image-rendering: pixelated;
}

.palette {
  display: block;
  width: 100%;
  margin: 1em 0;
  height: 6em;
}

@media screen and (min-width: 800px) {
  body {
    display: grid;
    width: 100%;
    grid: "header header header" auto
          "form   output x" auto /
           auto   auto   1fr;
    grid-gap: .5em 1em;
  }
  header {
    grid-area: header;
  }
  form {
    grid-area: form;
  }
  canvas {
    grid-area: output;
  }
}