body {
  margin: 0;
  padding: 0;
  font-family: "Times New Roman", serif;
  background: #ffffff;
  color: #000000;
}

.app {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}

.header {
  text-align: center;
  margin-bottom: 30px;
}

.logo-container {
  display: inline-block;
}

.logo {
  font-size: 48px;
  font-weight: normal;
  letter-spacing: -2px;
}

.logo:nth-child(1)::nth-letter(1) { color: #0066cc; }
.logo:nth-child(1)::nth-letter(2) { color: #dc143c; }
.logo:nth-child(1)::nth-letter(3) { color: #ff9900; }
.logo:nth-child(1)::nth-letter(4) { color: #0066cc; }
.logo:nth-child(1)::nth-letter(5) { color: #009900; }
.logo:nth-child(1)::nth-letter(6) { color: #dc143c; }

/* Manual coloring for Google letters */
.logo {
  background: linear-gradient(to right,
    #0066cc 0%, #0066cc 16.66%,
    #dc143c 16.66%, #dc143c 33.33%,
    #ff9900 33.33%, #ff9900 50%,
    #0066cc 50%, #0066cc 66.66%,
    #009900 66.66%, #009900 83.33%,
    #dc143c 83.33%, #dc143c 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.beta {
  font-size: 12px;
  color: #666666;
  vertical-align: super;
  margin-left: 5px;
}

.search-container {
  text-align: center;
  margin-bottom: 30px;
}

.search-label {
  font-size: 14px;
  margin-bottom: 10px;
}

.search-input {
  width: 350px;
  height: 20px;
  font-size: 14px;
  font-family: "Times New Roman", serif;
  border: 1px solid #000000;
  padding: 2px;
  margin-bottom: 10px;
}

.button-container {
  margin-top: 10px;
}

.search-button, .lucky-button {
  background: #cccccc;
  border: 2px outset #cccccc;
  padding: 2px 6px;
  margin: 0 5px;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  cursor: pointer;
}

.search-button:active, .lucky-button:active {
  border: 2px inset #cccccc;
}

.search-button:disabled, .lucky-button:disabled {
  background: #eeeeee;
  cursor: not-allowed;
}

.settings-toggle {
  text-align: center;
  margin: 20px 0;
}

.settings-toggle button {
  background: #cccccc;
  border: 2px outset #cccccc;
  padding: 2px 6px;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  cursor: pointer;
}

.settings-panel {
  background: #f0f0f0;
  border: 2px inset #cccccc;
  padding: 15px;
  margin: 20px 0;
}

.settings-panel h3 {
  margin-top: 0;
  font-size: 14px;
}

.setting-group {
  margin-bottom: 15px;
}

.setting-group label {
  display: block;
  font-size: 12px;
  margin-bottom: 5px;
  font-weight: bold;
}

.setting-group select, .setting-group textarea {
  width: 100%;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  border: 1px solid #000000;
}

.setting-group textarea {
  resize: vertical;
}

.settings-panel button {
  background: #cccccc;
  border: 2px outset #cccccc;
  padding: 2px 6px;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  cursor: pointer;
}

.results-container {
  margin: 30px 0;
}

.results-header {
  font-size: 14px;
  margin-bottom: 15px;
  font-weight: bold;
}

.result-item {
  margin-bottom: 15px;
}

.result-title {
  color: #0066cc;
  text-decoration: underline;
  font-size: 14px;
  margin-bottom: 2px;
  cursor: pointer;
}

.result-description {
  font-size: 12px;
  margin-bottom: 2px;
}

.result-url {
  color: #009900;
  font-size: 11px;
}

.pagination {
  text-align: center;
  margin: 20px 0;
}

.pagination button {
  background: #cccccc;
  border: 2px outset #cccccc;
  padding: 2px 6px;
  margin: 0 10px;
  font-family: "Times New Roman", serif;
  font-size: 12px;
  cursor: pointer;
}

.pagination button:disabled {
  background: #eeeeee;
  cursor: not-allowed;
}

.page-info {
  font-size: 12px;
  margin: 0 10px;
}

.footer {
  background: #66cccc;
  border: 2px outset #66cccc;
  padding: 10px;
  display: table;
  width: calc(100% - 24px);
  margin: 30px 0;
}

.footer-section {
  display: table-cell;
  vertical-align: top;
  padding: 5px 15px;
  font-size: 11px;
}

.footer-section a {
  color: #000080;
  text-decoration: underline;
}

.special-searches {
  font-size: 11px;
}

.email-signup input {
  width: 120px;
  font-size: 10px;
  border: 1px solid #000000;
  margin: 2px 0;
}

.email-signup button {
  background: #cccccc;
  border: 1px outset #cccccc;
  padding: 1px 3px;
  font-size: 10px;
  cursor: pointer;
  margin-right: 5px;
}

.copyright {
  text-align: center;
  font-size: 11px;
  margin: 20px 0;
}

.berrry-footer {
  text-align: center;
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid #cccccc;
}

/* Make it look more 1998-ish */
* {
  box-sizing: content-box;
}

button:hover {
  background: #dddddd;
}

a:visited {
  color: #800080;
}

/* Loading state */
.search-button:disabled {
  background: #dddddd;
}