:root{
  /* Brand green: headings, links, primary actions — used deliberately, not
     as the only color in the interface (see the accent/meaning colors
     below, which exist so highlighting and "related by meaning" don't all
     collapse into the same green-on-green as everything else). */
  --green-900:#153229;
  --green-700:#2f6b46;
  --green-600:#3d8358;
  --green-100:#e7f2ea;

  /* Accent: warm terracotta, roughly green's complement, so a highlighted
     search term actually pops against a mostly-green UI instead of
     blending into it. */
  --accent-700:#a8471c;
  --accent-600:#c1531f;
  --accent-bg:#fbe5cf;

  /* "Related by meaning" gets its own family (cool violet) so it reads as
     a distinct kind of signal from taxonomy chips (green) and keyword
     highlights (terracotta), not just a fourth shade of the same color. */
  --meaning-700:#5a4fc4;
  --meaning-bg:#ece9fb;

  --ink:#23271e;
  --ink-soft:#5b6353;
  --line:#e4ded2;
  --bg:#faf7f1;
  --card-bg:#ffffff;
  --chip-bg:#f1ede3;
  --chip-ink:#3d4636;
  --warn:#8a5210;
  --warn-bg:#fbead2;
  --focus:#a8471c;
  --radius:10px;
  --shadow:0 1px 2px rgba(30,25,15,.06),0 1px 10px rgba(30,25,15,.06);

  --font-display:"Fraunces","Iowan Old Style",Georgia,serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --green-900:#dff2e6;
    --green-700:#7fd6a3;
    --green-600:#5cc189;
    --green-100:#173322;

    --accent-700:#f0a868;
    --accent-600:#e8934a;
    --accent-bg:#4a2f14;

    --meaning-700:#b3aef0;
    --meaning-bg:#2a2650;

    --ink:#f0ede4;
    --ink-soft:#b9c0af;
    --line:#34382c;
    --bg:#15140f;
    --card-bg:#1c1f17;
    --chip-bg:#262a1e;
    --chip-ink:#cfd6c4;
    --warn:#e8b374;
    --warn-bg:#3a2c15;
    --focus:#e8934a;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.5;
}
a{color:var(--green-700)}
.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 60px}

header.site{margin-bottom:22px}
.header-row{display:flex;align-items:center;gap:20px;justify-content:space-between}
.header-text{min-width:0}
header.site h1{
  font-family:var(--font-display);font-weight:600;
  font-size:2.1rem;margin:0 0 6px;color:var(--green-900);letter-spacing:-.01em;
}
header.site p{margin:0;color:var(--ink-soft);font-size:.98rem;max-width:60ch;line-height:1.55}

.header-actions{display:flex;justify-content:flex-start;margin-top:10px}
.subscribe-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 18px;background:var(--green-600);color:#fff;
  font-weight:600;font-size:.92rem;border-radius:var(--radius);
  text-decoration:none;box-shadow:var(--shadow);
}
.subscribe-btn:hover{background:var(--green-700)}
.subscribe-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.header-art{width:160px;height:80px;flex:none}
.header-art .row{stroke:var(--green-600);opacity:.55}
.header-art .row-2{stroke:var(--accent-600);opacity:.4}
.header-art .row-4{stroke:var(--accent-600);opacity:.3}
.header-art .sprouts path{fill:var(--green-700);stroke:var(--green-700)}
.header-art .sun{fill:var(--accent-bg);opacity:.9}
@media (max-width:700px){ .header-art{display:none} }

.searchbar{
  margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;
}
.searchbar input[type="search"]{
  flex:1 1 320px;padding:13px 16px;border:1.5px solid var(--line);border-radius:var(--radius);
  background:var(--card-bg);color:var(--ink);font-size:1.05rem;box-shadow:var(--shadow);
}
.searchbar input[type="search"]:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.count-pill{
  font-size:.85rem;color:var(--ink-soft);white-space:nowrap;padding:6px 2px;
}

.layout{display:grid;grid-template-columns:260px 1fr;gap:26px;margin-top:22px;align-items:start}
@media (max-width:860px){ .layout{grid-template-columns:1fr} }

.facets{
  position:sticky;top:16px;display:flex;flex-direction:column;gap:14px;
}
@media (max-width:860px){ .facets{position:static} }

.facet{
  background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:12px 14px;
}
.facet > summary{
  cursor:pointer;font-weight:600;font-size:.92rem;color:var(--ink);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
}
.facet > summary::-webkit-details-marker{display:none}
.facet > summary .arrow{transition:transform .15s ease;color:var(--ink-soft);font-size:.8em}
.facet[open] > summary .arrow{transform:rotate(90deg)}
.facet .facet-body{margin-top:10px}
.facet-search{
  width:100%;padding:6px 8px;margin-bottom:8px;border:1px solid var(--line);
  border-radius:6px;background:var(--bg);color:var(--ink);font-size:.85rem;
}
.facet-options{max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}
.facet-options label{
  display:flex;align-items:center;gap:7px;font-size:.86rem;color:var(--ink);cursor:pointer;
}
.facet-options label .n{color:var(--ink-soft);font-size:.8em;margin-left:auto}
.facet-options input{accent-color:var(--green-600)}

.date-range{display:flex;flex-direction:column;gap:6px}
.date-range label{font-size:.8rem;color:var(--ink-soft);display:flex;flex-direction:column;gap:3px}
.date-range input[type="date"]{
  padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);
  font-size:.85rem;
}

.clear-btn{
  font-size:.82rem;background:none;border:1px solid var(--line);color:var(--ink-soft);
  padding:6px 10px;border-radius:7px;cursor:pointer;
}
.clear-btn:hover{border-color:var(--green-600);color:var(--green-700)}

.facet-footer{margin-top:2px;padding-top:12px;border-top:1px solid var(--line)}
.expired-toggle{
  font-size:.78rem;background:none;border:none;color:var(--ink-soft);
  padding:2px 0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;
  text-underline-offset:2px;
}
.expired-toggle:hover{color:var(--green-700)}
.expired-toggle.active{color:var(--green-700);text-decoration-style:solid}

.active-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0}
.active-chip{
  display:inline-flex;align-items:center;gap:6px;background:var(--chip-bg);color:var(--chip-ink);
  border-radius:999px;padding:4px 6px 4px 10px;font-size:.78rem;
}
.active-chip button{
  background:none;border:none;color:inherit;cursor:pointer;font-size:1em;line-height:1;padding:0 2px;
}

.results{min-width:0}
.cards{display:flex;flex-direction:column;gap:14px}
.card{
  background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 22px;display:flex;flex-direction:column;gap:9px;box-shadow:var(--shadow);
  transition:box-shadow .15s ease, transform .15s ease;
}
.card:hover{box-shadow:0 2px 6px rgba(30,25,15,.08), 0 8px 24px rgba(30,25,15,.10);transform:translateY(-1px)}
.card h3{
  margin:0;font-family:var(--font-display);font-weight:600;
  font-size:1.2rem;line-height:1.32;letter-spacing:-.005em;color:var(--ink);
}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--green-700);text-decoration:underline}
.card h3 a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.card .meta{font-size:.76rem;color:var(--ink-soft)}
.card .summary{font-size:.95rem;color:var(--ink);max-width:78ch;white-space:pre-line;line-height:1.58}
.card mark{background:var(--accent-bg);color:inherit;border-radius:3px;padding:0 2px;font-weight:600}

.citations-label{
  font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;
  color:var(--ink-soft);margin-top:2px;
}
.citations{display:flex;flex-direction:column;gap:9px;max-width:78ch}
.citation{
  font-size:.88rem;line-height:1.4;padding-left:12px;border-left:2px solid var(--line);
}
.citation a{color:var(--green-700);text-decoration:none}
.citation a:hover{text-decoration:underline}
.badge{
  display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:999px;font-weight:600;
}
.badge.archived{background:var(--warn-bg);color:var(--warn)}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.chip{
  background:var(--chip-bg);color:var(--chip-ink);border-radius:999px;
  padding:3px 9px;font-size:.74rem;
}
.chip.type{background:var(--green-100);color:var(--green-900);font-weight:600}
.chip.semantic{background:var(--meaning-bg);border:1px solid transparent;color:var(--meaning-700);font-style:italic}
.chip.hint{background:none;border:1px dashed var(--line);color:var(--ink-soft);font-style:italic}
.card .learn{
  margin-top:auto;font-size:.85rem;font-weight:600;
}
.card .no-link{font-size:.8rem;color:var(--ink-soft);font-style:italic}

.empty-state{
  text-align:center;color:var(--ink-soft);padding:50px 10px;font-size:.95rem;
}

footer.site{
  margin-top:44px;padding-top:16px;border-top:1px solid var(--line);
  font-size:.8rem;color:var(--ink-soft);
}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
