:root{--ink:#15201b;--mut:#5b6b63;--bg:#f6f8f6;--card:#fff;--acc:#1e7d4f;--acc2:#0f5132;--warn:#b45309;--line:#dde5df}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg)}
header.site{background:var(--acc2);color:#fff;padding:.9rem 1.2rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
header.site a{color:#dff3e7;text-decoration:none;font-weight:600}
header.site .crumb{font-weight:400;opacity:.85}
main{max-width:1180px;margin:0 auto;padding:1.2rem}
h1{font-size:1.7rem;margin:.4rem 0 .2rem}.lede{color:var(--mut);margin:.2rem 0 1rem}
.picks{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}
.pick-chip{background:#eaf5ee;border:1px solid var(--acc);border-radius:999px;padding:.35rem .8rem;font-size:.9rem;cursor:pointer}
.badge{position:relative;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--acc);color:#fff;border-radius:4px;padding:.15rem .5rem;margin-bottom:.4rem}
.badge-best-value{background:#0e7490}.badge-best-for-small-lawns{background:#7c3aed}.badge-best-for-steep-gardens{background:#b45309}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;display:flex;flex-direction:column;gap:.5rem}
.card h3{margin:.1rem 0;font-size:1.12rem}
.card-title{color:var(--mut);font-size:.86rem;margin:.1rem 0 .4rem}
table.specs{width:100%;border-collapse:collapse;font-size:.88rem}
table.specs th{ text-align:left;color:var(--mut);font-weight:600;padding:.22rem .4rem .22rem 0;vertical-align:top;width:44%}
table.specs td{padding:.22rem 0;vertical-align:top}
.src-flag{color:var(--acc);text-decoration:none;font-size:.75rem;vertical-align:super}
.offer{border-top:1px dashed var(--line);padding-top:.5rem;margin-top:auto}
.price{font-size:1.25rem;font-weight:800;color:var(--acc2)}
.freshness{font-size:.76rem;color:var(--mut)}
.avail{font-size:.85rem}.avail-in{color:var(--acc);font-weight:600}.avail-low{color:var(--warn);font-weight:600}.avail-chk{color:var(--mut)}
.buy-btn{display:inline-block;margin-top:.35rem;padding:.45rem .9rem;border-radius:6px;font-weight:700;text-decoration:none}
a.buy-btn{background:var(--acc);color:#fff}
.buy-failclosed{background:#e5e7eb;color:#6b7280;border:1px dashed #9ca3af;font-size:.85rem}
.buy-note{font-size:.72rem;color:var(--mut);margin-top:.2rem}
.limits{font-size:.82rem;color:var(--mut)}.limits summary{cursor:pointer}
.cmp{font-size:.85rem;display:flex;gap:.4rem;align-items:center}
.filterbar{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin:1rem 0;display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
.filterbar fieldset{border:0;padding:0;margin:0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
.filterbar legend{float:left;font-weight:700;font-size:.85rem;margin-right:.3rem;padding:0}
.filterbar label{font-size:.85rem;cursor:pointer}
.empty-state{display:none;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:.8rem 1rem;margin:.8rem 0}
.sortable{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:.9rem}
.sortable th,.sortable td{padding:.5rem .6rem;border-bottom:1px solid var(--line);text-align:left}
.sortable th{cursor:pointer;user-select:none;white-space:nowrap;background:#eef4ef}
.sortable th.sorted-asc::after{content:" ▲"}.sortable th.sorted-desc::after{content:" ▼"}
.tray{position:fixed;bottom:0;left:0;right:0;background:var(--acc2);color:#fff;padding:.6rem 1.2rem;display:none;gap:.8rem;align-items:center;z-index:50}
.tray.show{display:flex}
.tray button{background:#fff;color:var(--acc2);border:0;border-radius:6px;padding:.45rem .9rem;font-weight:700;cursor:pointer}
.disclaimer{background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;padding:.7rem 1rem;font-size:.82rem;color:#3730a3;margin:1.2rem 0}
.quiz-q{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem;margin:.8rem 0}
.quiz-q h2{font-size:1.05rem;margin:.1rem 0 .6rem}
.quiz-q label{display:block;padding:.45rem .6rem;border:1px solid var(--line);border-radius:6px;margin:.3rem 0;cursor:pointer}
.quiz-q label:hover{background:#eef4ef}
.result-primary{border:2px solid var(--acc)}
.why{background:#eaf5ee;border-radius:8px;padding:.6rem .8rem;font-size:.85rem;margin:.5rem 0}
.compare-table th.dim, .compare-table td.dim{color:#9aa5a0}
.compare-table td.diff{background:#ecfdf3;font-weight:700}
.qualifier{font-size:.72rem;color:var(--mut)}
footer.site{color:var(--mut);font-size:.78rem;padding:1.2rem;text-align:center}
