:root {
  font-family: system-ui, sans-serif;
  color: #1c3035;
  background: #f6f8f7;
  line-height: 1.6;
}
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 760px; margin: 0 auto; padding: 3rem 1.25rem; }
header { margin-bottom: 2rem; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 3rem); letter-spacing: -0.04em; }
.eyebrow { color: #376960; font-size: 0.85rem; font-weight: 600; }
label { display: block; font-weight: 600; margin-bottom: 0.5rem; }
.search-controls { display: flex; gap: 0.75rem; }
input, button { font: inherit; border-radius: 0.4rem; padding: 0.75rem 1rem; }
input { min-width: 0; flex: 1; border: 1px solid #7d908b; background: white; }
button { border: 1px solid #145b4f; background: #145b4f; color: white; cursor: pointer; }
button:hover { background: #0c453b; }
:focus-visible { outline: 3px solid #326fd1; outline-offset: 3px; }
#status { margin-top: 1.5rem; }
#status.error { color: #a52626; }
#result-count, .result-score, .result-source { color: #52635e; font-size: 0.9rem; }
#results { list-style: none; padding: 0; }
#results li { padding: 1.25rem 0; border-top: 1px solid #d5dfdb; overflow-wrap: anywhere; }
#results h2 { font-size: 1.2rem; margin: 0 0 0.3rem; }
#results a { color: #145b4f; text-decoration-thickness: 1px; text-underline-offset: 3px; }
#results p { margin: 0.25rem 0; }
.result-url { font-size: 0.95rem; }
@media (max-width: 480px) {
  main { padding-top: 1.5rem; }
  .search-controls { flex-direction: column; }
}

footer { margin-top: 2rem; font-size: 0.9rem; }
#corpus-count { color: #52635e; font-size: 0.9rem; }
.result-url { overflow-wrap: anywhere; }
