:root{--bg:#f7f7f4;--card:#fff;--ink:#1d2321;--mute:#5d6662;--line:#dfe2dc;--brand:#2f6b3a;--brand2:#e8f1e9;--good:#1f7a3a;--goodbg:#e3f4e8;--mar:#9a6200;--marbg:#fff3d9;--no:#b3261e;--nobg:#fde7e5;--ph:#fffbe6}
*{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)}
a{color:var(--brand)}img{max-width:100%}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
header.site{background:#17301c;color:#fff}header.site .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:12px 16px}
header.site a{color:#fff;text-decoration:none}.logo{font-weight:800;font-size:1.25rem;letter-spacing:-.3px}.logo span{color:#9fd5a7}
nav.main{display:flex;gap:14px;flex-wrap:wrap;font-size:.95rem}nav.main a{opacity:.9}nav.main a:hover{opacity:1;text-decoration:underline}
main{padding:20px 0 40px}h1{font-size:1.9rem;line-height:1.2;margin:.4em 0}h2{font-size:1.35rem;margin:1.6em 0 .5em}h3{font-size:1.1rem}
.lede{font-size:1.1rem;color:var(--mute);max-width:60ch}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin:14px 0}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.cat-tile{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink)}
.cat-tile strong{display:block;font-size:1.05rem}.cat-tile small{color:var(--mute)}.cat-tile.lead{border:2px solid var(--brand);background:var(--brand2)}
.checker{background:#fff;border:2px solid var(--brand);border-radius:14px;padding:18px}
.checker .row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
label{font-size:.85rem;font-weight:600;color:var(--mute);display:block;margin-bottom:3px}
select,input{width:100%;padding:10px;border:1px solid #c9cec7;border-radius:8px;font:inherit;background:#fff}
button,.btn{background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
details.custom{margin-top:10px}details.custom summary{cursor:pointer;color:var(--brand);font-weight:600}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.8rem;font-weight:700;white-space:nowrap}
.b-good{background:var(--goodbg);color:var(--good)}.b-marginal{background:var(--marbg);color:var(--mar)}.b-no{background:var(--nobg);color:var(--no)}
.summary-pills{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
table{width:100%;border-collapse:collapse;background:#fff;font-size:.93rem}th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{background:#eef1ec;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;color:var(--mute)}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}
td.null{color:#a0a6a2}td .why{color:var(--mute);font-size:.85rem}
.res-list{list-style:none;padding:0;margin:0}.res-list li{border-bottom:1px solid var(--line);padding:9px 0;display:flex;gap:10px;align-items:flex-start}
.res-list li .why{color:var(--mute);font-size:.86rem}
.placeholder{background:var(--ph);border:2px dashed #d4b106;border-radius:12px;padding:14px;color:#6b5900}
.placeholder .tag{font-size:.72rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;background:#d4b106;color:#fff;padding:2px 7px;border-radius:5px}
.disclaimer{background:#fff;border-left:4px solid var(--mar);padding:10px 14px;font-size:.9rem;color:#4b4b3c;border-radius:6px;margin:16px 0}
.crumbs{font-size:.85rem;color:var(--mute)}.crumbs a{color:var(--mute)}
.spec dt{font-weight:600;color:var(--mute);font-size:.85rem}.spec dd{margin:0 0 8px}.spec{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px 16px}
.filters{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:12px}
footer.site{background:#17301c;color:#cfd8cf;padding:24px 0;font-size:.88rem}footer.site a{color:#fff}
.cols{display:grid;gap:18px;grid-template-columns:2fr 1fr}@media(max-width:780px){.cols{grid-template-columns:1fr}h1{font-size:1.5rem}}
.muted{color:var(--mute)}.small{font-size:.85rem}
