:root {
  color: #172820;
  background: #f5f7f4;
  font: 17px/1.6 system-ui, sans-serif;
}
main {
  box-sizing: border-box;
  width: min(92%, 34rem);
  margin: 12vh auto;
  padding: clamp(1.25rem, 5vw, 3rem);
  border: 1px solid #d3ddd4;
  border-radius: 1rem;
  background: white;
}
h1 { margin: 0; font-size: 1.65rem; }
button {
  margin-top: .5rem;
  min-height: 44px;
  padding: .45rem 1rem;
  border: 0;
  border-radius: .4rem;
  background: #1b5b40;
  color: white;
  font: inherit;
  cursor: pointer;
}
button:disabled { opacity: .65; cursor: default; }
button:focus-visible { outline: 3px solid #1b5b40; outline-offset: 3px; }
output { font: 700 2rem/1.2 ui-monospace, monospace; letter-spacing: .12em; }

