/* Selenized Dark. */
:root {
    --bg:       #103c48;
    --bg-high:  #325b66;
    --bg-low:   #174956;

    --fg:       #adbcbc;
    --fg-high:  #cad8d9;
    --fg-low:   #72898f;

    --yellow:   #dbb32d;
    --orange:   #ed8649;
    --red:      #fa5750;
    --magenta:  #f275be;
    --violet:   #af88eb;
    --blue:     #4695f7;
    --cyan:     #41c7b9;
    --green:    #75b938;
}

body.limited-width {
  max-width: 80ch;
  margin-left: auto;
  margin-right: auto;
  padding-right: 1em;
  padding-left: 1em;
}

body {
    font-family: sans-serif;
    background-color: var(--bg);
    color: var(--fg);
}

hr {
  color: var(--fg-low);
}

b, th {
  color: var(--fg-high);
}

a {
  color: var(--blue);
  text-decoration: underline;
}

a:visited {
  color: var(--violet);
}

textarea {
  font-family: sans-serif;
}

form.application-submit {
  display: flex;
  flex-direction: column;
}

form.application-submit div {
  display: flex;
  flex-direction: column;
}

form label {
  margin-bottom: 0.5em;
}

form.application-submit input, form.application-submit textarea {
  margin-bottom: 2em;
}

form input, form textarea {
  background-color: var(--bg);
  color: var(--fg);
  border: 2px solid var(--fg-low);
  border-radius: 4px;
}

form input[type=number] {
  width: 4em;
}

form input:focus-visible, form textarea:focus-visible {
  border: 2px solid var(--violet);
  outline: none;
}

form input:hover, form textarea:hover {
  border: 2px solid var(--violet);
}

fieldset {
  border: 2px solid var(--fg-low);
  border-radius: 0.5em;
  margin-bottom: 0.5em;
}

fieldset:has(input[type=radio]:focus-visible) {
  background-color: var(--bg-low);
}

form input[type=submit] {
  border-color: var(--blue);
  background-color: var(--blue);
  color: var(--bg);
  font-weight: bold;
  padding: 0.5em;
}

form input[type=submit]:hover {
  cursor: pointer;
}

form input[type=submit]:focus-visible {
  border: 2px solid var(--violet);
}

form input[type=submit]:hover {
  border: 2px solid var(--violet);
}

ol#review-applications {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.application-review {
  border: 2px solid var(--fg-low);
  border-radius: 0.5em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
  padding: 0.5em;
  max-width: 60ch;
}

.application-review table {
  width: 100%;
  border-collapse: collapse;
}

.application-review th,
.application-review td {
  padding-right: 0.5em;
}

.application-review table th + th,
.application-review table td + td {
  border-left:2px solid var(--fg-low);
  padding-left: 0.5em;
}

.application-review input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.application-review input[type=checkbox]:focus-visible {
  border-color: var(--violet);
}

.application-review input[type=checkbox]:checked {
  background-color: var(--blue);
}

.application-review:has(input[type=checkbox]:checked) {
  border: 2px solid var(--orange);
}

.application-review:has(input[type=checkbox]:hover) {
  background-color: var(--bg-low);
}

.application-review:has(input[type=checkbox]:focus-visible) {
  background-color: var(--bg-low);
}
