/*
 * Copyright 2021 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

:root {
  --white: #eee;
  --gray: #ccc;
  --red: red;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu',
    'Helvetica Neue', Arial, sans-serif;
}
label {
  display: inline-block;
  text-align: right;
  width: 12.5rem;
}
input {
  width: 12.5rem;
}
button {
  background-color: var(--white);
  border: 0.0625rem solid var(--gray);
  border-radius: 0.125rem;
  width: 16rem;
}
table {
  border-spacing: 0.625rem 0.125rem;
  font-size: 0.75rem;
  padding: 0.1875rem 0 0.125rem 0;
}
td {
  border-top: 0.0625rem solid var(--gray);
}
