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;
  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;
  display: block;
}

.result-title:hover {
  background-color: #eeeeee;
}

.result-title:visited {
  color: #800080;
}

.result-title-disabled {
  color: #666666;
  font-size: 14px;
  margin-bottom: 2px;
}

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

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

.result-url:hover {
  background-color: #eeeeee;
}

.result-url:visited {
  color: #006600;
}

.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;
  cursor: pointer;
}

.footer-section a:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.footer-section a:visited {
  color: #800080;
}

.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;
}

/* Better link styling */
a {
  color: #0066cc;
}

a:hover {
  background-color: #eeeeee;
}

/* Ensure proper link behavior */
.result-title, .result-url {
  text-decoration: underline;
}

.result-title:active, .result-url:active {
  color: #cc0000;
}