* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: sans-serif;
  text-align: center;
  font-size: 18px;
  background: linear-gradient(to bottom, #fefefe, #dbe9f4);
  height: 100vh;
  padding: 40px 20px 0;
}

h1 {
  font-family: 'Yu Gothic UI', sans-serif;
  font-size: 2.2em;
  font-weight: bold;
  color: #2c3e50;
  text-shadow: 1px 1px 2px #aaa;
  margin-bottom: 20px;
}

#opening p {
  margin-top: 24px;
  line-height: 1.8;
}

#timer {
  font-size: 1.1em;
}

#question {
  font-size: 1.4em;
  margin: 16px 0;
}

#choices {
  list-style: none;
  padding: 0;
}

#choices li {
  margin: 10px auto;
  padding: 14px;
  width: 280px;
  border: 1px solid #333;
  cursor: pointer;
  font-size: 1.1em;
  background-color: #fff;
  color: #000;
  border-radius: 8px;
  transition:
    transform 0.2s,
    background-color 0.2s;
}

#choices li:hover:not(.correct):not(.wrong) {
  background: #eee;
}

#choices li.correct {
  background-color: #c8f7c5;
  color: #000;
}

#choices li.wrong {
  background-color: #f7c5c5;
  color: #000;
}

#result {
  font-size: 1.3em;
  margin-top: 16px;
}

#timer.danger {
  color: red;
  font-weight: bold;
}

#start,
#restart {
  width: 200px;
  font-size: 1.1em;
  padding: 10px 16px;
  margin-top: 24px;
  background-color: #6a1b9a;
  color: #fff;
  cursor: pointer;
}

#start:hover,
#restart:hover,
#start:focus,
#restart:focus {
  background-color: #8e24aa;
  color: #fff;
}
#start:active,
#restart:active {
  background-color: #4a0072;
  color: #fff;
}
