:root{--bg:#fbfaf7;--fg:#1d1d1b;--mut:#5c5c57;--acc:#0b6e4f;--line:#e3e0d8;--card:#fff;--w:#d8f0e3;--xw:#fde8c8;--xxw:#f6d3d3}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--fg)}
a{color:var(--acc)}main{max-width:1100px;margin:0 auto;padding:1rem}
header.site{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--line);background:#fff}
.logo{font-size:1.25rem;text-decoration:none;color:var(--fg);font-weight:600}.logo b{color:var(--acc)}
header nav{display:flex;flex-wrap:wrap;gap:.9rem}header nav a{text-decoration:none;color:var(--mut)}header nav a[aria-current]{color:var(--fg);font-weight:600}
.hero h1{font-size:clamp(1.6rem,4vw,2.3rem);margin:.6rem 0 .3rem}.small,.note,.meta,.src,.count,.byline{color:var(--mut);font-size:.9rem}
.filters{display:flex;flex-wrap:wrap;gap:.6rem;background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem}
@media(min-width:800px){.filters{position:sticky;top:0;z-index:2}}
.filters label{display:flex;flex-direction:column;font-size:.8rem;color:var(--mut);gap:.2rem;min-width:140px;flex:1}.filters .grow{flex:2}
select,input{font:inherit;padding:.45rem .5rem;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--fg)}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.85rem;display:flex;flex-direction:column;gap:.3rem}
.card[hidden]{display:none}.card-h .brand{font-weight:700}.widths code{font-size:.82rem;white-space:normal}.toe{font-size:.85rem}
.badges{display:flex;gap:.3rem;flex-wrap:wrap}.badge{font-size:.75rem;padding:.1rem .45rem;border-radius:99px;background:var(--w)}
.b-extra-wide{background:var(--xw)}.b-xx-wide{background:var(--xxw)}
.prose{max-width:760px}.prose h1{font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.2}.prose h2{margin-top:2rem}
.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem;background:#fff}th,td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left;vertical-align:top}th{background:#f2f0ea}
.sources{font-size:.85rem;word-break:break-all}details{border:1px solid var(--line);border-radius:8px;padding:.5rem .8rem;margin:.4rem 0;background:#fff}summary{cursor:pointer;font-weight:600}
footer.site{border-top:1px solid var(--line);margin-top:2rem;padding:1rem;color:var(--mut);font-size:.85rem;text-align:center}
