*,
*:before,
*:after {
  box-sizing: border-box;
}

:root {
  --space-xs: 0.5em;
  --space-s: 1em;
  --space-m: 5em;
  --space-l: 10em;

  /* colors from https://www.happyhues.co/palettes/4 */
  --color-background: #16161a;
  --color-text: #d0d0ce;

  --primary-c1: rgba(178, 57, 255, 1);
  --primary-c2: rgba(104, 0, 231, 1);
  --primary-c3: rgba(5, 185, 236, 1);
  --primary-c4: rgba(16, 14, 35, 1);

  /*shaded versions*/
  --primary-c1-s1: rgba(103, 2, 149, 1);
  --primary-c2-s1: rgba(65, 0, 139, 1);
  --primary-c3-s1: rgba(0, 118, 169, 1);

  --primary-c1-s2: rgba(68, 9, 105, 1);
  --primary-c2-s2: rgba(42, 0, 94, 1);
  --primary-c3-s2: rgba(2, 93, 132, 1);

  --primary-c1-s3: rgba(36, 0, 56, 1);
  --primary-c2-s3: rgba(20, 0, 47, 1);
  --primary-c3-s3: rgba(0, 42, 58, 1);

  --secondary-c1: rgba(253, 41, 79, 1);
  --secondary-c2: rgba(22, 10, 254, 1);
  --secondary-c3: rgba(255, 235, 216, 1);
  --secondary-c4: rgba(1, 2, 42, 1);

  --color-destruction: var(--secondary-c1);
  --color-hope: var(--primary-c1);
}
@font-face {
  font-family: "orbitronregular";
  src: url("assets/fonts/orbitron-variablefont_wght-webfont.woff2")
      format("woff2"),
    url("assets/fonts/orbitron-variablefont_wght-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "montserratbold";
  src: url("assets/fonts/montserrat-bold-webfont.woff2") format("woff2"),
    url("assets/fonts/montserrat-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "montserratitalic";
  src: url("assets/fonts/montserrat-italic-webfont.woff2") format("woff2"),
    url("assets/fonts/montserrat-italic-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "montserratregular";
  src: url("assets/fonts/montserrat-regular-webfont.woff2") format("woff2"),
    url("assets/fonts/montserrat-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

html {
  width: 100%;
  height: 100%;
}

html,
input,
textarea,
select,
button {
  font-family: monospace;
}

input,
button {
  display: block;
}

input,
textarea {
  color: var(--color-hope);
  background: transparent;
  border: 2px solid var(--color-hope);
  width: 100%;
  padding: var(--space-s);
  margin-bottom: var(--space-s);
}

button {
  transition: background-color 0.2s;
  min-width: auto;
  width: 66.6%;
  padding: var(--space-s);
  background-color: black;
  border: none;
  margin: 0 auto;
  color: var(--color-text);
}

button.primary {
  transition: background-color 0.2s;
  font-family: "orbitronregular";
  font-weight: bold;
  width: 100%;
  padding: var(--space-s);
  background-color: var(--color-hope);
  border: none;
  color: var(--color-text);
}

button:disabled {
  background-color: gray;
}

button.large {
  font-size: 2em;
}

button.primary:hover {
  cursor: pointer;
}

code {
  background-color: var(--primary-c2);
}

body {
  width: inherit;
  height: inherit;
  margin: 0;
}

body {
  font-size: 16px;
  line-height: 1.7rem;
  font-family: "montserratregular";
  background-color: var(--primary-c4);
  color: var(--secondary-c3);
}

.destruction {
  color: var(--color-destruction);
}

.hope {
  color: var(--color-hope);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  font-family: "orbitronregular";
  text-transform: uppercase;
  color: var(--primary-c3);
}

h1 {
  font-size: 2rem;
}

p {
}

nav {
  width: 100%;
  margin-bottom: var(--space-m);
}

nav ul {
  width: 100%;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
}

nav ul li {
  list-style: none;
  display: block;
  transition: background-color 0.2s;
  background-color: var(--primary-c1);
  font-family: "orbitronregular";
  border: none;
  text-align: center;
}

nav ul li:nth-child(2) {
}

nav ul li:nth-child(3) {
}

nav ul li:nth-child(4) {
}

nav ul li a {
  padding: var(--space-xs);
  text-decoration: none;
  color: var(--primary-c4);
}

nav ul li a:visited {
  color: var(--primary-c4);
}

.label {
  font-family: "orbitronregular";
}

a,
a:hover,
a:visited {
  color: inherit;
  text-decoration: underline;
}

.error {
  background-color: #f44336;
  padding: var(--space-s);
}

.warning {
  color: black;
  background-color: #ffeb3b;
  padding: var(--space-s);
}

.leaderboard {
  width: 100%;
}

.leaderboard td {
  padding: var(--space-xs);
}

.leaderboard thead td {
  font-family: "orbitronregular";
  font-weight: bold;
  color: var(--color-destruction);
  border: none;
}

tbody tr:nth-child(even) {
}

article img {
  display: block;
  margin: auto;
  max-width: 100%;
}

strong {
  font-family: "montserratbold";
}

blockquote {
  background-color: var(--primary-c2-s2);
  padding: 0.2em 1em;
}
