## 1. Ursache und Nachweis vorbereiten

- [x] 1.1 Befund mit frischem Start reproduzieren (Run-Fenster aktiv, Alt+Minus sowie Klick auf `[≡]`) und die fehlerhafte Position und die „File“-Hervorhebung als fehlschlagende TestBackend-Prüfung in `crates/tb-ide/tests/app.rs` festhalten; die Prüfung muss die Popup-Position relativ zu `app.rect(aktives Fenster)` und den Stil der Menüleistenzelle „File“ auswerten.

## 2. Zustand trennen und Position korrigieren

- [x] 2.1 In `crates/tb-ide/src/app.rs` den Control-Menü-Zustand von `menu` lösen: `Command::ControlMenu` darf `menu` nicht setzen; Auswahl, Auf/Ab, Enter, Mnemonic und Esc für das Control-Menü über die gemeinsame Eintragsnavigation bedienen; Klick außerhalb und Esc schließen beide Zustände; Alt+Mnemonic wechselt in die Menüleiste und schließt das Control-Menü.
- [x] 2.2 In `crates/tb-ide/src/render.rs` eine für alle Fensterarten gemeinsame Platzierungsfunktion für das Control-Menü-Popup einführen: linke Spalte = Symbolspalte `rect.x`, bevorzugt unter der Titelzeile (`rect.y + 1`), bei fehlendem Platz unten nach oben aufklappen mit Unterkante `rect.y - 1`, bei fehlendem Platz rechts nur so weit nach links rücken, dass das Popup passt und die Symbolspalte überdeckt bleibt; das Popup liegt immer vollständig in der Arbeitsfläche und überdeckt nie die eigene Titelzeile; Menüleiste hebt bei offenem Control-Menü keinen Titel hervor; Hit-Bereiche der Einträge an die berechnete Position anpassen.
- [x] 2.3 Prüfung aus 1.1 grün bekommen und um Fälle ergänzen: Code-, Projekt-, Output- und Immediate-Fenster mit derselben Regel, minimiertes Fenster (Ctrl+F9) klappt nach oben, per Ctrl+F7 an den rechten Rand verschobenes Fenster rückt nach links, maximiertes Fenster (Ctrl+F10), Mausklick auf `[≡]` und auf einen Eintrag; bestehende Tests zu Fenster- und Menübedienung bleiben bestanden.

## 3. Dokumentation und Übergabe

- [x] 3.1 `docs/ide-referenz.md` Abschnitt 2 um den Ort des Control-Menüs ergänzen; Hilfekatalog-/Linktests bleiben bestanden.
- [x] 3.2 Manuelle Gegenprobe im realen Terminal (Windows Terminal) mit Run-, Code-, Projekt-, Immediate- und Hilfefenster in normalem, minimiertem und maximiertem Zustand sowie am rechten Rand; Vorher-/Nachher-Beobachtung in `evidence/` festhalten und Befund an Change 07 Aufgabe 2.3 als behoben übergeben.
- [x] 3.3 Nebenbefunde der Windows-Testausführung beheben (siehe `evidence/befund-2026-09-08.md`): `prepare_publication` in `crates/tb-export/src/lib.rs` öffnete die Temporärdatei lesend vor `sync_all` („Zugriff verweigert“, sechs Export-Tests); `relative_path` in `crates/tb-vm/src/project_io.rs` schrieb Projektverweise mit Plattformtrenner statt `/` (drei `save_as`-Tests); Referenzmatrix-, Kompatibilitäts- und MAK-Beispieltests verglichen CRLF-Checkouts nicht zeilenendenneutral. Vollständiger Workspace-Lauf unter Windows muss bestehen.
