.route-grid,.topic-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap:1rem; }
.route-grid article,.topic-card { padding:1.15rem; border:1px solid var(--line); background:var(--surface); min-width:0; border-radius:var(--tn-radius-sm); box-shadow:var(--shadow); transition:border-color .3s, transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s; }
.route-grid article:hover,.topic-card:hover { border-color:rgba(88,192,138,.42); transform:translateY(-2px); box-shadow:0 0 0 1px rgba(88,192,138,.22),0 8px 40px -8px rgba(88,192,138,.16); }
.route-grid h3,.topic-card h3 { margin-top:0; }
.topic-card .eyebrow { font-size:.85rem; }
.compendium-section { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--line); }
.compendium-filters { display:flex; flex-wrap:wrap; gap:1rem; margin:1rem 0; }
.compendium-filters label { display:grid; gap:.4rem; min-width:0; flex:1 1 15rem; }
.compendium-filters input,.compendium-filters select { padding:.65rem; width:100%; background:var(--surface); color:var(--ink); border:1px solid var(--muted); font:inherit; }
.formula { padding:.6rem; border-left:3px solid var(--accent); background:var(--wash); overflow-wrap:anywhere; }
.source-note { font-size:.9rem; color:var(--muted); }
