Audit and overhaul the nuzlocke rules configuration. The current rules are a flat collection of boolean settings, some of which don't meaningfully affect tracker behavior. This epic cleans up existing rules and adds new rules for popular variants with actual tracker logic.
## Scope
### Rules to REMOVE (5)
These rules either define what a nuzlocke is (always true) or don't affect tracker behavior at all:
-`firstEncounterOnly` — implicit; it's a nuzlocke tracker
-`permadeath` — implicit; it's a nuzlocke tracker
-`nicknameRequired` — not enforced or tracked
-`setModeOnly` — not enforced or tracked
-`postGameCompletion` — not enforced or tracked
### Rules to KEEP (5)
These actively affect tracker logic:
-`duplicatesClause` — used in encounter creation and bulk randomization
-`shinyClause` — used in encounter creation (bypass route-lock)
-`pinwheelClause` — used for zone-based encounter logic
-`hardcoreMode` — used in BossDefeatModal (auto-win, 1 attempt)
-`levelCaps` — displayed in sticky bar on encounters page
### New rules to ADD (4)
These are boolean flags with real tracker logic:
-`egglocke` — all caught Pokemon are replaced with traded eggs. When enabled, encounter Pokemon selection should allow picking from ALL Pokemon (not just the game's regional dex), similar to the admin panel encounter creation / boss team creation flow.
-`wonderlocke` — all caught Pokemon are Wonder Traded away. Same as egglocke: encounter Pokemon selection allows picking from ALL Pokemon.
-`randomizer` — the run uses a randomized ROM. Same behavior: encounter Pokemon selection allows picking from ALL Pokemon since the dex is randomized.
-`giftClause` — in-game gift Pokemon are free and do not count against the area's encounter limit. When enabled, gift-origin encounters should bypass the route-lock check (similar to how shinyClause bypasses it for shinies).