[
    {
        "id": "847075fc-7290-4c0f-a809-90239208a98e",
        "scriptName": "Tremble Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\btremble\\b[^>]{0,120}>([“\"][^”\"]{1,2000}?[”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|tremble)>)?/gi",
        "replaceString": "<span style=\"color:$1;letter-spacing:1.5px;opacity:0.85;font-style:italic;\">$2</span>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": true,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "b3008048-2646-4cf9-90a3-1c533cfd3fcc",
        "scriptName": "Measured Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bmeasured\\b[^>]{0,120}>([“\"][^”\"]{1,2000}?[”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|measured)>)?/gi",
        "replaceString": "<span style=\"color:$1;font-weight:bold;letter-spacing:0.8px;text-shadow:0 0 3px #000, 1px 1px 2px #000;\">$2</span>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": true,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "fa5a6eaf-d262-4b00-b9d4-4a06280763c1",
        "scriptName": "Whisper Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bwhisper\\b[^>]{0,120}>([“\"][^”\"]{1,2000}?[”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|whisper)>)?/gi",
        "replaceString": "<span style=\"color:$1;font-size:0.85em;opacity:0.75;font-style:italic;\">$2</span>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": true,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "f526816e-1242-476b-9ffc-466af5563ece",
        "scriptName": "Shout Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bshout\\b[^>]{0,120}>([“\"][^”\"]{1,2000}?[”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|shout)>)?/gi",
        "replaceString": "<span style=\"color:$1;font-size:1.15em;font-weight:900;text-shadow:0 0 6px $1;\">$2</span>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": true,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "dc2817e6-9e08-4f1e-a3a1-e85907310a77",
        "scriptName": "FF5 - Universal Dialogue Colorizer",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)\\s{0,8}>([“\"][^”\"]{1,2000}?[”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}\\1>)?/gi",
        "replaceString": "<span style=\"color:$1;\">$2</span>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": true,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "060e0ccc-837c-45b3-86b9-845a7f1685e1",
        "scriptName": "RF2.2D State 14 · Bold labels",
        "findRegex": "/((?:^|<br>)[ \\t]{0,8}(?:-[ \\t]{0,8})?|[|·][ \\t]{0,8})(?:<b>)?(Quiet|Hot|Rolls|This turn|Thread|Open|Deferred|World|Ambitions|Residue|Loaded|Fired|Inv|Titles\\/Skills|Status)(?:<\\/b>)?:(?:<\\/b>)?(?=(?:(?!🎬)[\\s\\S]){0,30000}?<\\/details>\\s{0,40}<\\/details>)/gm",
        "replaceString": "$1<b>$2:</b>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "c19ddcdd-76d8-4f8f-b2ec-ad5184eaa0c5",
        "scriptName": "RF2.2D State 15 · Bold bond names",
        "findRegex": "/((?:^|<br>)[ \\t]{0,8}(?:-[ \\t]{0,8})?)(?:<b>)?([^<|↔\\n]{1,80}?)(?:<\\/b>)?[ \\t]{0,8}↔[ \\t]{0,8}(?:<b>)?([^<|↔\\n]{1,80}?)(?:<\\/b>)?([ \\t]{0,8}\\|[ \\t]{0,8}[Bb][Oo][Nn][Dd]:)(?=(?:(?!🎬)[\\s\\S]){0,30000}?<\\/details>\\s{0,40}<\\/details>)/gm",
        "replaceString": "$1<b>$2</b> ↔ <b>$3</b>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "2606ef15-f6bb-41f6-9b14-6ac59a00d294",
        "scriptName": "RF2.2D X Feed · Prompt trimmer",
        "findRegex": "/<!--\\s{0,8}X_FEED_START\\s{0,8}-->[\\s\\S]{0,30000}?<!--\\s{0,8}X_FEED_END\\s{0,8}-->/g",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": 2,
        "maxDepth": null
    },
    {
        "id": "cf25d31d-ef5a-4317-8e0f-87e4fa6b5173",
        "scriptName": "RF2.2D State 13 · Block to bottom (display)",
        "findRegex": "/^([\\s\\S]{0,60000}?)((?:<!--\\s{0,8}GFX_START\\s{0,8}-->\\s{0,8})?(?:<internal_states>\\s{0,8})?<details[^>]{0,40}>\\s{0,8}<summary[^>]{0,40}>\\s{0,8}🎬[\\s\\S]{0,50000}?<\\/details>\\s{0,40}<\\/details>(?:\\s{0,8}<\\/internal_states>)?(?:\\s{0,8}<!--\\s{0,8}GFX_END\\s{0,8}-->)?)[ \\t]*\\n*([\\s\\S]{0,60000})$/",
        "replaceString": "$1$3\n\n$2",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-blind-world-ripeness",
        "scriptName": "RF2.2D - Blind World register ripeness",
        "findRegex": "/\\((ELSEWHERE|REGIONAL|LOCAL),\\s*Reach\\s*\\d,\\s*age\\s*\\d+\\)/g",
        "replaceString": "(…)",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "2c69c9f7-58c3-4724-956e-0461db3c68b4",
        "scriptName": "FF5 UI - Collapse Detail Spacing",
        "findRegex": "/<\\/details>(?:\\s|<br>|<br\\/>|<br \\/>|<p>|<p\\/>|<p \\/>|<\\/p>)+<details/gi",
        "replaceString": "</details><details",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "4225c9fb-6bd7-4b11-850d-42c2e59d8130",
        "scriptName": "FF5 UI - GM Notebook Highlights",
        "findRegex": "/-[ \\t]{0,8}\\[([RTD])\\]/g",
        "replaceString": "- <b style=\"color:#f9e2af;font-weight:600;text-shadow:0 0 2px rgba(249,226,175,0.2);\">[$1]</b>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "a2be79be-3e36-476f-93c2-d60ea8cc911c",
        "scriptName": "FF5 - Relationship Bars (Negative)",
        "findRegex": "/-?[ \\t]{0,8}(?:<b[^>]{0,120}>)?\\s{0,8}([^<|↔\\n]{1,80}?)\\s{0,8}(?:<\\/b>)?\\s{0,8}↔\\s{0,8}(?:<b[^>]{0,120}>)?\\s{0,8}([^<|\\n]{1,80}?)\\s{0,8}(?:<\\/b>)?\\s{0,8}\\|\\s{0,8}BOND:\\s{0,8}(-)(\\d{1,6})\\s{0,8}\\|\\s{0,8}SPARKS?:\\s{0,8}(\\d{1,6})\\s{0,8}\\|\\s{0,8}GRUDGE:\\s{0,8}(\\d{1,6})/gi",
        "replaceString": "<div style=\"background:rgba(24,24,37,0.8);border:1px solid #45475a;border-radius:6px;padding:15px;margin-bottom:12px;box-shadow:0 4px 10px rgba(0,0,0,0.3);\"><div style=\"text-align:center;font-size:1.1em;font-weight:bold;color:#cdd6f4;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;\">$1 <span style=\"color:#74c7ec;margin:0 8px;\">⟷</span> $2</div><div style=\"display:flex;flex-direction:column;gap:12px;\"><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#f38ba8;text-shadow:1px 1px 2px #000;\">BOND: $3$4</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#eba0ac,#f38ba8);box-shadow:0 0 8px rgba(243,139,168,0.5);width:min(calc($4% / 0.05), 100%);\"></div></div></div><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#f5c2e7;text-shadow:1px 1px 2px #000;\">SPARKS: $5</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#cba6f7,#f5c2e7);box-shadow:0 0 8px rgba(245,194,231,0.5);width:min(calc($5% / 0.15), 100%);\"></div></div></div><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#f38ba8;text-shadow:1px 1px 2px #000;\">GRUDGE: $6</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#eba0ac,#f38ba8);box-shadow:0 0 8px rgba(243,139,168,0.5);width:min(calc($6% / 0.1), 100%);\"></div></div></div></div></div>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 0,
        "maxDepth": null
    },
    {
        "id": "e2b84569-0c2e-4e0e-8610-62c13b3070bf",
        "scriptName": "FF5 - Relationship Bars (Positive)",
        "findRegex": "/-?[ \\t]{0,8}(?:<b[^>]{0,120}>)?\\s{0,8}([^<|↔\\n]{1,80}?)\\s{0,8}(?:<\\/b>)?\\s{0,8}↔\\s{0,8}(?:<b[^>]{0,120}>)?\\s{0,8}([^<|\\n]{1,80}?)\\s{0,8}(?:<\\/b>)?\\s{0,8}\\|\\s{0,8}BOND:\\s{0,8}(\\+?)(\\d{1,6})\\s{0,8}\\|\\s{0,8}SPARKS?:\\s{0,8}(\\d{1,6})\\s{0,8}\\|\\s{0,8}GRUDGE:\\s{0,8}(\\d{1,6})/gi",
        "replaceString": "<div style=\"background:rgba(24,24,37,0.8);border:1px solid #45475a;border-radius:6px;padding:15px;margin-bottom:12px;box-shadow:0 4px 10px rgba(0,0,0,0.3);\"><div style=\"text-align:center;font-size:1.1em;font-weight:bold;color:#cdd6f4;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;\">$1 <span style=\"color:#74c7ec;margin:0 8px;\">⟷</span> $2</div><div style=\"display:flex;flex-direction:column;gap:12px;\"><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#a6e3a1;text-shadow:1px 1px 2px #000;\">BOND: $3$4</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#94e2d5,#a6e3a1);box-shadow:0 0 8px rgba(166,227,161,0.5);width:min(calc($4% / 0.2), 100%);\"></div></div></div><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#f5c2e7;text-shadow:1px 1px 2px #000;\">SPARKS: $5</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#cba6f7,#f5c2e7);box-shadow:0 0 8px rgba(245,194,231,0.5);width:min(calc($5% / 0.15), 100%);\"></div></div></div><div style=\"display:flex;align-items:center;gap:12px;\"><span style=\"width:80px;font-weight:bold;font-size:0.85em;text-align:right;color:#f38ba8;text-shadow:1px 1px 2px #000;\">GRUDGE: $6</span><div style=\"flex-grow:1;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;box-shadow:inset 0 1px 4px rgba(0,0,0,0.8);border:1px solid #313244;\"><div style=\"height:100%;border-radius:7px;background:linear-gradient(90deg,#eba0ac,#f38ba8);box-shadow:0 0 8px rgba(243,139,168,0.5);width:min(calc($6% / 0.1), 100%);\"></div></div></div></div></div>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 0,
        "maxDepth": null
    },
    {
        "id": "e7edfb0f-35eb-4575-b7b0-5231fa82c1fb",
        "scriptName": "FF5 - Image Prompt Stripper",
        "findRegex": "/<!--\\s{0,8}IMG_PROMPT:[\\s\\S]{0,4000}?-->/gi",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "5cf71089-1522-40b6-9762-095ce8ef7daf",
        "scriptName": "FF5 - GFX Stripper",
        "findRegex": "/<!-- GFX_START -->\\s{0,8}<div[^>]{0,200}?>([\\s\\S]{0,20000}?)<\\/div>\\s{0,8}<!-- GFX_END -->/gi",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 0,
        "maxDepth": null
    },
    {
        "id": "60d47cbf-ce08-4c84-a3f5-a4fbacea32c0",
        "scriptName": "FF5 UI - Highlights",
        "findRegex": "/-[ \\t]{0,8}<b[^>]{0,120}?>(.{0,400}?)<\\/b>(?![ \\t]{0,8}↔)/g",
        "replaceString": "- <b style=\"color:#f9e2af;font-weight:600;text-shadow:0 0 2px rgba(249,226,175,0.2);\">$1</b>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "117eb318-d552-4513-bfad-2eb656562d65",
        "scriptName": "FF5 - Context Saver (Universal)",
        "findRegex": "/(?:<!--\\s{0,8}GFX_START\\s{0,8}-->|<internal_states>)[\\s\\S]{0,50000}?(?:<!--\\s{0,8}GFX_END\\s{0,8}-->|<\\/internal_states>|$)/gi",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 2,
        "maxDepth": null
    },
    {
        "id": "48fae878-1698-4c7c-9edb-b4ba23d5eef2",
        "scriptName": "FF5 UI - Menu Master",
        "findRegex": "/<details>\\s{0,8}<summary>([^<]{0,200}?)(INTERNAL STATES)([^<]{0,200}?)<\\/summary>/gi",
        "replaceString": "<details style=\"background:rgba(20,20,30,0.4);border-radius:6px;margin:2px 0;\"><summary style=\"background:linear-gradient(90deg, #313244, #1e1e2e);padding:10px 12px;font-weight:bold;color:#cdd6f4;cursor:pointer;text-transform:uppercase;letter-spacing:1px;list-style:none;border-bottom:2px solid #89b4fa;border-radius:6px 6px 0 0;\">$1$2$3</summary>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "6b987c21-298f-4cc1-a9e1-7f6e8f60799e",
        "scriptName": "FF5 UI - Menu Teal",
        "findRegex": "/<details>\\s{0,8}<summary>([^<]{0,200}?)(NPC AGENDAS|NPC LOCATIONS|FACTIONS|BONDS|BOND TRACKER)([^<]{0,200}?)<\\/summary>([\\s\\S]{0,20000}?)<\\/details>/gi",
        "replaceString": "<details style=\"background:rgba(148,226,213,0.05);border:1px solid rgba(148,226,213,0.2);border-left:4px solid #94e2d5;margin:2px 0;border-radius:4px;\"><summary style=\"background:linear-gradient(90deg, rgba(148,226,213,0.25), transparent);padding:8px 12px;font-weight:bold;color:#94e2d5;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;list-style:none;\">$1$2$3</summary><ul style=\"list-style:none;margin:0;padding:0 8px;\">$4</ul></details>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "a5250142-1d2c-4d72-8f96-bca63df855b9",
        "scriptName": "FF5 UI - Menu Purple",
        "findRegex": "/<details>\\s{0,8}<summary>([^<]{0,200}?)(QUESTS|CHEKHOV'S GUN|CHEKHOV SEEDS|INTERNAL THOUGHTS|INV & SKILLS|INVENTORY & STATUS|GM NOTEBOOK|GM'S NOTEBOOK)([^<]{0,200}?)<\\/summary>([\\s\\S]{0,20000}?)<\\/details>/gi",
        "replaceString": "<details style=\"background:rgba(203,166,247,0.05);border:1px solid rgba(203,166,247,0.2);border-left:4px solid #cba6f7;margin:2px 0;border-radius:4px;\"><summary style=\"background:linear-gradient(90deg, rgba(203,166,247,0.25), transparent);padding:8px 12px;font-weight:bold;color:#cba6f7;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;list-style:none;\">$1$2$3</summary><div style=\"padding:8px 12px;\">$4</div></details>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "794b5757-eb31-4ef0-9de6-bde40b4e6b0e",
        "scriptName": "FF5 UI - Menu Orange",
        "findRegex": "/<details>\\s{0,8}<summary>([^<]{0,200}?)(PLOT MOMENTUM|DND TASK SIM|WORLD SIM|FATE & ROUTINE|PHYSICS, ENGINE & WORLD|PHYSICS ENGINE & WORLD)([^<]{0,200}?)<\\/summary>([\\s\\S]{0,20000}?)<\\/details>/gi",
        "replaceString": "<details style=\"background:rgba(250,179,135,0.05);border:1px solid rgba(250,179,135,0.2);border-left:4px solid #fab387;margin:2px 0;border-radius:4px;\"><summary style=\"background:linear-gradient(90deg, rgba(250,179,135,0.25), transparent);padding:8px 12px;font-weight:bold;color:#fab387;cursor:pointer;text-transform:uppercase;letter-spacing:0.5px;list-style:none;\">$1$2$3</summary><ul style=\"list-style:none;margin:0;padding:0 8px;\">$4</ul></details>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "90ac8744-5358-406c-8af0-f5271e5cced5",
        "scriptName": "Hide Plot Summary",
        "findRegex": "<details>\\s*<summary>Plot Momentum<\\/summary>[\\s\\S]*?<\\/details>",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "148432c1-7d82-4cba-aced-72d9e0d6fb41",
        "scriptName": "Strip Old Plot Momentum",
        "findRegex": "<details>\\s*<summary>Plot Momentum<\\/summary>[\\s\\S]*?<\\/details>",
        "replaceString": " ",
        "trimStrings": [],
        "placement": [
            2,
            1
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 2,
        "maxDepth": null
    },
    {
        "id": "b7d7bd41-5451-49dd-9f87-d1c7592daa1e",
        "scriptName": "Strip HTML/GFX from Context",
        "findRegex": "<\\/?(?:div|span|strong|font|b|i|u|br|p|h1|h2|h3)(?:\\s[^>]*)?>|<!-- GFX_START -->|<!-- GFX_END -->|&nbsp;",
        "replaceString": " ",
        "trimStrings": [],
        "placement": [
            1,
            2
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": 2,
        "maxDepth": null
    },
    {
        "id": "rf2w-state-trim-br",
        "scriptName": "RF2.2D State 8 · Drop trailing break",
        "findRegex": "/<br>\\s*(<\\/ul>|<\\/details>)/g",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-state-card-gap",
        "scriptName": "RF2.2D State 9 · Collapse bond card gaps",
        "findRegex": "/(<\\/div>)\\s*\\n+\\s*(<div style=\\\"background:rgba\\(24,24,37)/g",
        "replaceString": "$1$2",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-state-lastcard-gap",
        "scriptName": "RF2.2D State 10 · Close gaps at block tail",
        "findRegex": "/(<\\/div>|<\\/ul>|<\\/details>|<\\/internal_states>)\\s*\\n+\\s*(?=<\\/ul>|<\\/details>|<\\/internal_states>|<!-- GFX_END -->)/g",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-state-dash",
        "scriptName": "RF2.2D State 11 · Strip label dashes",
        "findRegex": "/-\\s*(<b style=\\\"color:#f9e2af)/g",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-state-ul",
        "scriptName": "RF2.2D State 12 · Neutralise group list padding",
        "findRegex": "/<ul>/g",
        "replaceString": "<ul style=\"list-style:none;margin:0;padding:0 8px;\">",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-cot-done-trim",
        "scriptName": "RF2.2D CoT 1 · Done trim (IonStream / DeepInfra)",
        "findRegex": "/^[\\s\\S]*?(?:\\n|^)[ \\t]*(?:[-*]+[ \\t]*)?\\**Scene\\**[: ][\\s\\S]*?(?:\\n|^)[ \\t]*(?:[-*]+[ \\t]*)(?:\\**Done\\**\\.?|\\**Open\\**:.*)[ \\t]*(?:\\r?\\n|$)[\\s]*(?:<\\/think(?:ing)?>[\\s]*)?/",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": true,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "rf2w-cot-orphan-tag",
        "scriptName": "RF2.2D CoT 2 · Orphan think tag",
        "findRegex": "/<\\/?think(?:ing)?>\\n?/g",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": true,
        "runOnEdit": true,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "d5e12fe9-9df5-4903-9a50-55d441f437bd",
        "scriptName": "FF5 Delete - Untagged Thoughts",
        "findRegex": "/^\\s{0,20}([^<\\[\\s][\\s\\S]{0,30000}?)(?:\\n\\s{0,8}[-—_*]{3,}\\s{0,8}\\n|\\n{1,10})(\\[\\s{0,8}[^\\]\\n]{0,30}\\bTime\\b)/gi",
        "replaceString": "$2",
        "trimStrings": [],
        "placement": [
            2,
            1
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "18b4d937-7f33-44dc-82be-d741949eefaf",
        "scriptName": "FF5 Catch - Untagged Thoughts",
        "findRegex": "/^\\s{0,20}([^<\\[\\s][\\s\\S]{0,30000}?)(?:\\n\\s{0,8}[-—_*]{3,}\\s{0,8}\\n|\\n{1,10})(\\[\\s{0,8}[^\\]\\n]{0,30}\\bTime\\b)/gi",
        "replaceString": "<details style=\"background: rgba(147, 51, 234, 0.08); border: 1px solid rgba(147, 51, 234, 0.3); border-left: 4px solid #a855f7; border-radius: 8px; margin: 10px 0; padding: 10px 14px; font-size: 0.92em;\"><summary style=\"cursor: pointer; font-weight: bold; color: #c084fc; user-select: none;\">💭 Thoughts</summary>\n\n$1\n</details>\n\n$2",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "2d04ca00-ff21-432d-b343-96c4f1f477f0",
        "scriptName": "FF5 Repair - Summary Auto-Close",
        "findRegex": "/<summary>([^<\\n\\r]{1,100})\\n(?!\\s{0,8}<\\/summary>)/gi",
        "replaceString": "<summary>$1</summary>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "5b8c1eb3-a163-4bb9-a227-0dff9c11281b",
        "scriptName": "FF5 Repair - GFX Unfence",
        "findRegex": "/```(?:html|xml|markdown)?\\s{0,8}\\n?\\s{0,8}(<!--\\s{0,8}GFX_START\\s{0,8}-->|<internal_states>|<details>)/gi",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "d3ff5550-f8f9-4801-9392-4fa81858deb9",
        "scriptName": "FF5 Repair - GFX Trailing Unfence",
        "findRegex": "/(<!--\\s{0,8}GFX_END\\s{0,8}-->|<\\/internal_states>|<\\/details>)\\s{0,8}\\n?\\s{0,8}```/gi",
        "replaceString": "$1",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "c147731c-dc22-4df1-92ee-9712ef6a80f6",
        "scriptName": "Hapuppy Delete Thoughts",
        "findRegex": "/(?:<\\s{0,8}(?:think|thinking|thought|thoughts|reasoning|internal_monologue|internal\\s+monologue)\\b[^>]{0,120}>[\\s\\S]{0,20000}?<\\s{0,8}\\/\\s{0,8}(?:think|thinking|thought|thoughts|reasoning|internal_monologue|internal\\s+monologue)[^>]{0,120}>|###\\s{0,8}(?:Internal Monologue|Reasoning|Thoughts?|Thinking)\\s{0,8}[\\s\\S]{0,20000}?###\\s{0,8}(?:Response|Output|Narrative|Final Answer)\\s{0,8})/gi",
        "replaceString": "",
        "trimStrings": [],
        "placement": [
            2,
            1
        ],
        "disabled": false,
        "markdownOnly": false,
        "promptOnly": true,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "1ffeb34e-f9d0-4459-ad4a-4fe0f10f7ca9",
        "scriptName": "Hapuppy Hide Thoughts",
        "findRegex": "/(?:<\\s{0,8}(think|thinking|thought|thoughts|reasoning|internal_monologue|internal\\s+monologue)\\b[^>]{0,120}>([\\s\\S]{0,20000}?)<\\s{0,8}\\/\\s{0,8}\\1[^>]{0,120}>|###\\s{0,8}(?:Internal Monologue|Reasoning|Thoughts?|Thinking)\\s{0,8}\\n?([\\s\\S]{0,20000}?)###\\s{0,8}(?:Response|Output|Narrative|Final Answer)\\s{0,8})/gi",
        "replaceString": "<details style=\"background: rgba(147, 51, 234, 0.08); border: 1px solid rgba(147, 51, 234, 0.3); border-left: 4px solid #a855f7; border-radius: 8px; margin: 10px 0; padding: 10px 14px; font-size: 0.92em;\"><summary style=\"cursor: pointer; font-weight: bold; color: #c084fc; user-select: none;\">💭 Thoughts</summary>\n\n$2$3\n</details>",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "4f8c5ad3-0076-48d6-8beb-4ead10481f33",
        "scriptName": "SillyTavern Tremble Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\btremble\\b[^>]{0,120}>([“\"])([^”\"]{1,2000}?)([”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|tremble)>)?/gi",
        "replaceString": "$2<span style=\"color:$1;letter-spacing:1.5px;opacity:0.85;font-style:italic;\">$3</span>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "21fd8b48-d92e-49e0-96c4-d864cd0cd68f",
        "scriptName": "SillyTavern Measured Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bmeasured\\b[^>]{0,120}>([“\"])([^”\"]{1,2000}?)([”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|measured)>)?/gi",
        "replaceString": "$2<span style=\"color:$1;font-weight:bold;letter-spacing:0.8px;text-shadow:0 0 3px #000, 1px 1px 2px #000;\">$3</span>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "9cb8ac77-7177-461a-b2d1-51a5f121e4b1",
        "scriptName": "SillyTavern Whisper Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bwhisper\\b[^>]{0,120}>([“\"])([^”\"]{1,2000}?)([”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|whisper)>)?/gi",
        "replaceString": "$2<span style=\"color:$1;font-size:0.85em;opacity:0.75;font-style:italic;\">$3</span>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "e9de1cc2-fdce-4405-9695-02d408ef1f17",
        "scriptName": "SillyTavern Shout Dialogue Regex",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)[^>]{0,120}\\bshout\\b[^>]{0,120}>([“\"])([^”\"]{1,2000}?)([”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}(?:\\1|shout)>)?/gi",
        "replaceString": "$2<span style=\"color:$1;font-size:1.15em;font-weight:900;text-shadow:0 0 6px $1;\">$3</span>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    },
    {
        "id": "ccf86f25-d236-469d-afa9-b0d8b0982eda",
        "scriptName": "SillyTavern Universal Dialogue Colorizer",
        "findRegex": "/<\\s{0,8}(?:color\\s{0,8}:\\s{0,8})?(cyan|pink|teal|orange|gold|violet|salmon|orchid|yellow|plum)\\s{0,8}>([“\"])([^”\"]{1,2000}?)([”\"])(?:\\s{0,8}<\\s{0,8}\\/\\s{0,8}[^<>\\n\\r]{0,40}>|\\s{0,8}<\\s{0,8}\\/\\s{0,8}[a-zA-Z0-9_-]{0,24}:|\\s{0,8}\\1>)?/gi",
        "replaceString": "$2<span style=\"color:$1;\">$3</span>$4",
        "trimStrings": [],
        "placement": [
            2
        ],
        "disabled": false,
        "markdownOnly": true,
        "promptOnly": false,
        "runOnEdit": false,
        "substituteRegex": 0,
        "minDepth": null,
        "maxDepth": null
    }
]