/*
 * Copyright 2019-2020 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;
}

td {
  border-top: 0.0625rem solid var(--gray);
}

.Experiments input {
  width: auto;
}

.Experiments input:invalid {
  border: 0.0625rem dotted var(--red);
  border-radius: 0.25rem;
}

.Experiments input:valid {
  border: 0.0625rem solid var(--gray);
  border-radius: 0.25rem;
}

.Experiments button {
  width: auto;
}

.Experiments-updateResult {
  border: none;
  height: 2rem;
  width: 100%;
}
