Web frontend and supporting services for lance.blue

feat(forces): filters in the search box, and a target that speaks them master

The box takes bare words and `key:value` terms together — era<=3025, bv<=1500, class:heavy, tech:clan, jump>0 — over the columns the index already carries. Filters gate, words rank. A locked target writes its own terms in the same language and shows them, so the target constrains the search rather than being a second way to filter.


+383 -17
5 changed files