:root { color-scheme: light; font-family: Georgia, "Times New Roman", serif; color: #202622; background: #f8f7f3; }
* { box-sizing: border-box; }
body { min-width: 280px; min-height: 100vh; margin: 0; background: #f8f7f3; }
.home { display: grid; min-height: 100vh; min-height: 100svh; place-items: center; padding: 2rem 0; }
.search-intro { width: min(94%, 1120px); margin-top: -8vh; text-align: center; }
h1 { margin: 0; color: #1c3027; font-size: clamp(2.35rem, 7vw, 4rem); font-weight: 500; letter-spacing: -.035em; line-height: 1.05; }
.search-intro > p { margin: .9rem 0 2.2rem; color: #56615b; font: clamp(.95rem, 2.4vw, 1.08rem)/1.5 system-ui, sans-serif; }
.fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; text-align: left; }
.field { position: relative; min-width: 0; }
label { display: block; margin: 0 0 .45rem .25rem; color: #34443b; font: 600 .82rem/1.3 system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
input[type="search"] { width: 100%; min-height: 3.5rem; padding: .85rem 1rem; border: 1px solid #c9cec9; border-radius: .8rem; outline: 0; background: #fff; box-shadow: 0 3px 14px rgb(28 48 39 / 7%); color: #202622; font: 1rem/1.4 system-ui, sans-serif; }
input[type="search"]:hover { border-color: #aeb6af; }
input[type="search"]:focus-visible { border-color: #356b52; box-shadow: 0 0 0 3px rgb(53 107 82 / 18%); }
.field:has(.suggestions:not([hidden])) input { border-radius: .8rem .8rem 0 0; }
.suggestions { position: absolute; z-index: 10; top: calc(100% - 1px); right: 0; left: 0; overflow: hidden; border: 1px solid #c9cec9; border-top-color: #e1e3e0; border-radius: 0 0 .8rem .8rem; background: #fff; box-shadow: 0 10px 22px rgb(28 48 39 / 11%); text-align: left; }
.suggestions ul { max-height: 18rem; margin: 0; padding: .3rem 0; overflow-y: auto; list-style: none; }
.suggestions li, .field-status { overflow-wrap: anywhere; word-break: normal; }
.suggestions li { padding: .7rem 1rem; color: #2c342f; cursor: pointer; font: .94rem/1.4 system-ui, sans-serif; }
.suggestions li:hover, .suggestions li[aria-selected="true"] { background: #edf3ef; color: #173e2c; }
.field-status { margin: 0; padding: .8rem 1rem; color: #68716b; font: .88rem/1.4 system-ui, sans-serif; }
.search-button { margin-top: 1rem; padding: .7rem 1rem; border: 1px solid #356b52; border-radius: .55rem; background: transparent; color: #24543e; cursor: pointer; font: 600 .9rem/1.2 system-ui, sans-serif; }
.search-button:hover, .show-all:hover { background: #edf3ef; }
.source-results { max-width: 850px; margin: 1.25rem auto 0; text-align: left; }
.source-results > h2 { margin: 0 0 .8rem; color: #50645a; font: 600 .78rem/1.3 system-ui, sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.results-status { color: #68716b; font: .92rem/1.5 system-ui, sans-serif; }
.source-result { margin: 0 0 1rem; padding: 1.1rem 1.25rem; border: 1px solid #d8dcd8; border-radius: .6rem; background: rgb(255 255 255 / 65%); }
.source-result h3 { margin: 0 0 .7rem; color: #27372f; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.result-proposition { margin: 0 0 .65rem; font-size: 1.05rem; line-height: 1.5; }
.result-proposition [data-part="subject"] { color: #205a40; font-weight: 700; }
.result-proposition [data-part="relation"] { color: #675023; font-style: italic; }
.result-proposition [data-part="object"] { color: #324e67; }
.source-result blockquote { margin: .65rem 0; padding-left: 1rem; border-left: 2px solid #b8c7be; line-height: 1.55; }
.source-metadata { color: #58645d; font: .86rem/1.45 system-ui, sans-serif; text-transform: capitalize; }
.show-all, .back-link, .pagination a { display: inline-block; padding: .65rem .9rem; border: 1px solid #9aaba1; border-radius: .5rem; color: #24543e; font: 600 .88rem/1.2 system-ui, sans-serif; text-decoration: none; }
.results-page { width: min(92%, 900px); margin: 0 auto; padding: 2rem 0 4rem; }
.results-page header { margin-bottom: 2rem; }
.results-page h1 { margin-top: 1.5rem; font-size: clamp(2rem, 5vw, 3.2rem); }
.active-filters { color: #56615b; font: .95rem/1.5 system-ui, sans-serif; overflow-wrap: anywhere; }
.pagination { display: flex; gap: .75rem; justify-content: center; margin-top: 1.5rem; }
.occurrences { margin: .6rem 0; padding-left: 1.35rem; }
.occurrences li { margin: .4rem 0; line-height: 1.5; overflow-wrap: anywhere; }
.metadata-notice, .extraction-notice { margin: .5rem 0; color: #68716b; font: .8rem/1.45 system-ui, sans-serif; }
@media (max-width: 720px) { .search-intro { width: min(90%, 600px); margin-top: 0; } .fields { grid-template-columns: 1fr; gap: 1.1rem; } .suggestions { position: relative; top: -1px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition-duration: .01ms !important; } }
