html, body {
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333333;
}

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

input {
  height: 30px;
  width: 100%;
  padding: 0 8px;
}

button {
  width: 60px;
  height: 30px;
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  border-left: 1px solid #333333;
  color: #333333;
  background-image: none;
  background-color: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid #333333;
  border-bottom: none;
}

ul li {
  padding: 8px;
  border-bottom: 1px solid #333333;
}

#main {
  width: 360px;
  margin: 20px auto;
  position: relative;
}

html, body {
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333333;
}

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

#search-input {
  height: 30px;
  width: 100%;
  padding: 0 8px;
}

#add-button {
  width: 60px;
  height: 30px;
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  border-left: 1px solid #333333;
  color: #333333;
  background-image: none;
  background-color: inherit;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}

#search-results {
  padding: 0;
  margin: 0;
  list-style: none;
  border: 1px solid #333333;
  border-bottom: none;
}

#search-results > li {
  padding: 8px;
  border-bottom: 1px solid #333333;
}

#main {
  width: 360px;
  margin: 20px auto;
  position: relative;
}

Use element ids instead of types for styles
Use element ids instead of types for styles
