MIDNIGHTNAMEPLATES — PHASE 11.8
PROFILES & IMPORT/EXPORT FINALIZATION

PROFILE HARDENING
- Profile names normalized and trimmed.
- Control characters removed.
- Maximum profile name length: 40 characters.
- Create / Copy / Rename now return useful failure reasons.
- Rename updates active, manual, character and context references.
- Delete confirmation remains mandatory.
- Default remains protected.

IMPORT HARDENING
- Maximum import size: 1 MB.
- Strict MNP1 prefix validation.
- Strict Base64 character validation.
- Wrong-addon rejection.
- Missing/newer/older format rejection.
- Unknown export type rejection.
- Rule-pack structural validation.
- Human-readable import error messages.
- Editing import text invalidates a previously previewed payload.
- Successful import invalidates the old preview and refreshes config + live preview.

EXPORT
- Existing confirmation remains.
- FULL / PROFILE / NPC_RULES / SPELL_RULES / RULE_PACK preserved.
- Export strings remain shareable MNP1 strings.

TEST
1. Create profile with normal name.
2. Attempt duplicate.
3. Attempt blank name.
4. Attempt >40 characters.
5. Copy active profile.
6. Rename active profile.
7. Verify context assignments follow rename.
8. Delete non-default profile -> CANCEL.
9. Delete again -> confirm.
10. Verify Default cannot be deleted.
11. Generate FULL export; Select All; copy.
12. Clear; paste; PREVIEW IMPORT.
13. Edit one character after preview -> preview must invalidate.
14. Preview again; import with confirmation.
15. Try malformed text.
16. Try wrong prefix.
17. Try incomplete MNP1 string.
18. Verify import errors are readable.
19. /reload; profile and imported settings persist.
20. No Lua errors, taint, FPS regression, protected-action or secret-value errors.

UNCHANGED
- Phase 11.7.4 preview positioning.
- Dynamic per-page scrolling.
- Manual Blizzard Minions source architecture.
- No automatic summon-source CVar writes.
