diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 0024d89..9278f74 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -19,6 +19,8 @@ reverse.
## 2026-08-27
+- A people bar below the diagram shows each `@person` with their share of the open work on the cheapest path — plus an entry for what is assigned to nobody
+- Tapping a person filters the diagram to their nodes: everything else folds, their packages stand collapsed as `▸ n`, their pills turn teal — a view-only lens that never writes into the text
- Folding regions in the text editor recorded as an idea in the plan — view-only and local, unrelated to the diagram's fold marks, deliberately not sized yet
- Fix: the root node's fold chip was white-on-pastel and barely visible — it now looks like every other node's, and the description mark and id line on a coloured root are readable too
- The caret on a node off the cheapest path now highlights only the ring — the fill stays pale instead of jumping back to full colour
diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md
index 2770e80..e771d8b 100644
--- a/docs/DECISIONS.md
+++ b/docs/DECISIONS.md
@@ -7446,3 +7446,82 @@ lokales Dokument zeigt unverändert seine lokalen Stände. Der Namens-Dialog
beim Beitreten blockiert nichts (die Automation wies ihn ab — Dokument lädt,
nichts gemerkt, nächstes Mal wird wieder gefragt). 531 Frontend-Tests und
der Backend-`check` grün.
+
+## D87 — Personen-Leiste mit Personen-Linse: eine Fläche für Filter und Belastung
+Gewünscht: je `@`-Person die zuständigen Knoten hervorheben und alles andere
+zuklappen — auch unter den explizit benannten Knoten —, dazu eine
+Belastungsanzeige je Person. Zwei Bedienideen standen im Raum (Menü-Knopf im
+Diagramm-Kopf oder die Namens-Pillen als Leiste unterm Diagramm); die
+Entscheidungen fielen als Multiple-Choice-Runde:
+
+**Die Leiste, nicht der Knopf** — und der Ausschlag ist das zweite Feature:
+Ein Kopf-Knopf wäre das zwölfte Element in einer dreimal zurechtgemessenen
+Zeile (D47/D56/D75) und zeigte die Belastung erst hinter einem Klick. Die
+Leiste trägt beides in einer Fläche — Pille, Balken, Tipp = Linse — und
+erscheint **nur bei Dokumenten mit Tags**: Für tag-lose Pläne (auch den
+mitgelieferten) kostet sie nichts.
+
+**Die Linse ist die erste bewusst rein sichtbare Faltung.** D38 schreibt
+Falten in den Text — richtig für „so wird dieses Dokument eröffnet", falsch
+für „zeig mir Annas Arbeit": In einem geteilten Dokument (D76) ginge der
+persönliche Filter als Textänderung an alle Mitschreiber. Die Linse nutzt
+deshalb nur die Darstellung (Sitzungszustand wie die News-Vorführung, D58);
+Hand-Faltungen währenddessen bleiben in einer eigenen Überlagerung
+(`lensOverrides`), der Falt-Durchschalter beendet die Linse (er arbeitet auf
+dem Text-Zustand), und die Reihum-Prüfung des Durchschalters ruht solange —
+sonst würfe der Linsen-Zustand die Position um, obwohl der Text unverändert
+ist. **Export und Druck folgen ihr trotzdem** (Nutzer-Entscheidung): Die
+D38-Regel „exportiert wird die sichtbare Struktur, eingeklappte Knoten tragen
+▸ n" gilt wie überall — „Annas Sicht als Bild teilen" funktioniert damit von
+selbst.
+
+**Die Falt-Regel (`personFoldSet`, headless in model.js):** Zu klappt, wer
+den Tag **selbst trägt** (das „▸ n" vertritt das Paket — mit der
+D71-Vererbung ist alles darunter ohnehin dessen) und wer in seinem Teilbaum
+**gar nichts** von der Person hat; offen bleiben genau die Vorfahren-Pfade.
+Der interessante Fall ist getestet: Ein fremd getaggtes Paket, das tief innen
+einen Knoten der gesuchten Person enthält, bleibt **offen** — die eigenen
+Tags eines Knotens entscheiden nur über ihn, nicht über den Pfad hindurch.
+Nicht faltbare Blatt-Geschwister auf offenen Pfaden bleiben sichtbar —
+dieselbe Eigenschaft wie beim `path`-Preset (D75); welche Knoten gemeint
+sind, sagt die **petrol gefärbte Pille** der Person (die Engpass-Warnfarbe
+gewinnt: eine Warnung wiegt schwerer als eine Auswahl).
+
+**„Ohne Zuständigen" ist ein eigener, klickbarer Eintrag** (gestrichelte
+Pille — ein Loch, keine Person): Die Anteile summieren damit ehrlich auf
+100 % (D71: Unzugewiesenes verwässert sie ohnehin), und seine Linse zeigt,
+wofür noch niemand eingeteilt ist — jeder Knoten mit **eigenen** Tags klappt
+zu, die Grenze ins zugewiesene Gebiet. Für Unzugewiesen taugt die
+Personen-Regel nicht: „kein Tag" ist vorfahren-abgeschlossen (die Wurzel
+wäre ihr eigener äußerster Vertreter), die Grenz-Formulierung ist die
+tragfähige Umkehrung.
+
+**Belastung: Anteile, keine absoluten Zahlen** (Nutzer-Entscheidung). Die
+Größen sind ordinal (D46) — jede Summe ist eine Näherung, und eine Punktzahl
+suggerierte Präzision, die die Schätzskala nicht hat. Gerechnet wird mit dem
+vorhandenen D71-Maß (`assigneeLoads`: Marginalkosten der offenen Pfad-Arbeit,
+Vererbung, geteilte Beiträge) — **eine** Kostenrechnung im System, Warnung
+und Anzeige sagen dieselbe Zahl. Bei ausgeschaltetem Pfad-Umschalter wird der
+Pfad eigens gerechnet (die D75-Linie: die Frage gilt dem Pfad, nicht seiner
+Anzeige); die Bernstein-Färbung der Engpass-Person bleibt dagegen am
+sichtbaren Pfad und färbt auch die Leisten-Pille.
+
+**Eine Person zur Zeit** (Nutzer-Entscheidung): Tipp wechselt, zweiter Tipp
+auf dieselbe schaltet aus — Mehrfachauswahl kann später dazukommen, umgekehrt
+nicht. Die Linse erlischt von selbst, wenn es die Person (oder überhaupt
+Tags) im Dokument nicht mehr gibt, und beim Dokumentwechsel
+(`loadActiveIntoEditor`, die eine Stelle aus D80).
+
+**Nebengewinn, notiert:** SPEC §11 reserviert `&tag` ausdrücklich bis zum
+ersten Konsumenten — „Filter-/Hervorheben-Linse" ist dort wörtlich genannt.
+Diese Linse baut genau die Mechanik; Schlagworte bekämen sie später
+geschenkt.
+
+**Nachgemessen** im Browser an einem Tag-Plan (anna/ben, elf Knoten): Leiste
+ben 50 % · anna 21 % · ohne Zuständigen 29 % (Summe 100). Annas Linse:
+`Backend` und `Frontend` als „▸ 2", `Infra` offen mit ihrem CI-Blatt, beide
+anna-Pillen petrol, Text byte-identisch. Bens Linse hält annas Backend
+**offen** (sein API liegt darin). Hand-Faltung während der Linse ändert den
+Text nicht; Ausschalten stellt den textdefinierten Zustand wieder her;
+Unzugewiesen-Linse klappt genau die getaggten Pakete zu. Tag-loses Dokument:
+keine Leiste. 538 Tests, davon 7 neue in `tests/lens.test.js`.
diff --git a/docs/SPEC.md b/docs/SPEC.md
index 7f71a45..6804581 100644
--- a/docs/SPEC.md
+++ b/docs/SPEC.md
@@ -760,6 +760,41 @@ Termine sagt die Warnung nichts (das tut in dieser Notation ohnehin nichts,
keine Pille und damit keine Färbung. Bei ausgeschaltetem Pfad entfällt
beides — ohne Pfad gibt es keine offene Front.
+### Personen-Leiste und Personen-Linse
+Trägt das Dokument `@`-Tags (§7), steht unter dem Diagramm eine **Leiste mit
+einer Pille je Person** samt **Belastungs-Balken**: ihr Anteil an der offenen
+Arbeit des günstigsten Pfads — dasselbe Maß wie der Zuständigen-Engpass
+(oben), mit Vererbung und geteilten Beiträgen; die Bernstein-Färbung der
+Engpass-Person erscheint auch hier. Angezeigt werden **Anteile, keine
+absoluten Zahlen** — die Größen sind ordinal, jede Summe ist eine Näherung.
+Der Rest **ohne Zuständigen** bekommt einen eigenen, gestrichelten Eintrag,
+damit die Anteile auf 100 % summieren. Gerechnet wird auch bei
+ausgeschaltetem Pfad-Umschalter (wie die `path`-Voreinstellung des
+Falt-Durchschalters: die Frage gilt dem Pfad, nicht seiner Anzeige). Ohne
+Tags gibt es die Leiste nicht.
+
+Ein **Tipp auf eine Pille schaltet die Personen-Linse**: Sichtbar bleiben nur
+die Vorfahren-Pfade zu den Knoten dieser Person; die getaggten Knoten selbst
+stehen **eingeklappt** da — ihr „▸ n“ vertritt das Paket, und mit der
+Vererbung ist alles darunter ohnehin ihres. Ihre Personen-Pillen an den
+sichtbaren Knoten färben sich petrol (die Engpass-Warnfarbe gewinnt). Nicht
+faltbare Geschwister auf offenen Pfaden bleiben stehen — dieselbe
+Eigenschaft wie bei der Pfad-Voreinstellung des Falt-Durchschalters. Der
+Eintrag „ohne Zuständigen“ zeigt als Linse die Struktur, deren Arbeit
+niemandem gehört: Jeder Knoten mit eigenen Tags klappt zu. Ein zweiter Tipp
+hebt die Linse auf, ein Tipp auf eine andere Person wechselt; es gilt
+höchstens eine zugleich.
+
+Die Linse ist **reine Ansicht und Sitzungssache**: Anders als das Falten (§9,
+`>`/`<`) schreibt sie **nichts** in den Text — in einem geteilten Dokument
+(`?live=`) ginge der persönliche Filter sonst als Textänderung an alle.
+Hand-Faltungen während der Linse bleiben ebenso in der Sitzung;
+Dokumentwechsel und Neuladen setzen zurück, der Falt-Durchschalter beendet
+die Linse (er arbeitet auf dem Text-Faltzustand). **Grafikexport und Druck
+folgen der sichtbaren Faltung** wie überall — „die Sicht einer Person als
+Bild teilen“ funktioniert damit von selbst; die Leiste selbst erscheint in
+beiden nicht.
+
### Diagramm aus einer URL laden (`?sourceUrl=`)
Der Editor kann den Notationstext aus einer externen Textdatei beziehen:
`…?sourceUrl=https://example.org/plan.txt` (relative Angaben werden gegen die
diff --git a/docs/examples/werkbaum.werkbaum b/docs/examples/werkbaum.werkbaum
index 676eef4..7a6ec59 100644
--- a/docs/examples/werkbaum.werkbaum
+++ b/docs/examples/werkbaum.werkbaum
@@ -87,6 +87,9 @@
- [^] #ed.fold.write: Folding writes the mark back into the text (S) %% one undo step
- [^] #ed.fold.preset: The fold button cycles through four presets (S) %% M-and-smaller, off-path, all, none — see D44/D75
+ [?] #ed.textfold: Fold regions in the text editor, next to the line numbers %% view-only, unrelated to the > marks; not sized yet
+ - [x] #ed.lens: A people bar with a person lens (M)
+ - [x] #ed.lens.fold: One person's nodes, everything else folds (S) %% view-only, never written into the text
+ - [x] #ed.lens.load: A load bar per person, shares of the open path work (S) %% the D71 measure
- [^] #ed.snaps: Earlier states of a document, every ten minutes (S) %% only when something changed
- [^] #ed.snaps.manual: Save a state by hand, before a larger change (XS) %% ten minutes is the wrong beat for that moment
- [^] #ed.files: Open and save .werkbaum files (S)
@@ -619,6 +622,21 @@
lines, so this hinges on the parked editor-rebuild question (CodeMirror,
D76); deliberately not sized yet.
+#ed.lens
+ A bar below the diagram, one pill per @person, shown only when the
+ document carries tags at all. Tapping a pill filters the diagram to that
+ person's work; an extra entry shows what is assigned to nobody.
+
+#ed.lens.fold
+ The lens keeps only the ancestor paths to the person's nodes open; their
+ tagged packages stand collapsed. Deliberately view-only: written fold
+ marks would push a personal filter to everyone in a shared document.
+
+#ed.lens.load
+ Each pill carries a bar with the person's share of the open work on the
+ cheapest path — the same measure as the bottleneck warning, shares
+ rather than absolute numbers because the sizes are ordinal.
+
#ed.snaps
A safety net against mishaps: the text is put aside every ten minutes, but
only when it differs from the last one kept, and the last twenty are offered
diff --git a/frontend/index.html b/frontend/index.html
index 45add8d..ecb0e8e 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -277,6 +277,7 @@