└ Menus now auto-close based on their own config. └ Controlled by `expireStaleEntries()` in each menu manager.
Dynamic Multi-Page Titles └ GUI titles now reflect actual page number with `{page}/{pages}` placeholders. └ Fully supported in config with MiniMessage styling.
Refined Join/Quit Behavior └ Menus no longer reopen after manually closing. └ Stale player detection properly avoids forced reopen on join.
[HR][/HR]
⚔ Duel Request Enhancements
Better Context Handling └ When challenging via GUI, the system now passes `[challenge:{player}|{page}]` context keys. └ This enables correct return behavior from confirmation screens.
Stale Challenge Cleanup └ Player disconnects now mark viewers as stale if relevant. └ Join events auto-refresh menus but never override manual closure.