{
  "colorGroups": {
    "seal": "#e74c3c",
    "scribe": "#e67e22",
    "party": "#3498db",
    "lore": "#2ecc71",
    "rocky": "#9b59b6",
    "location": "#95a5a6"
  },
  "nodes": [
    {
      "id": "seal1",
      "label": "🧬 Seal 1 (Vita)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Life/Corruption of living things",
      "status": "DESTROYED",
      "description": "First seal encountered in the early campaign.",
      "extra": ""
    },
    {
      "id": "seal2",
      "label": "👁️ Seal 2 (Timor)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Fear & Paranoia",
      "status": "DESTROYED",
      "description": "Second seal encountered in the early campaign.",
      "extra": ""
    },
    {
      "id": "seal3",
      "label": "⚔️ Seal 3 (Ira)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Wrath",
      "status": "DESTROYED",
      "description": "The third seal, located in the Scoria (underground mines). Its corruption makes people violent and reckless — not through persuasion, but through compulsion.",
      "extra": "<li><b>Quotes:</b> Holst: \"It won't speak, it'll pull.\"</li><li><b>Key Event (Day 23):</b> Party encountered a farmer beating his brother to death on the road. Seal corruption had fully overwritten him — irreversible. Victim refused to leave. Party intervened but could not save the farmer.</li><li><b>Lore Note:</b> DM ruling: full overwrite by seal corruption is permanent. Breaking the seal does NOT restore overwritten people. Light corruption is reversible.</li><li><b>Unresolved:</b> The farmer's brother was left at the roadside. Never followed up.</li>"
    },
    {
      "id": "seal4",
      "label": "💧 Seal 4 (Dolor)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Grief",
      "status": "DESTROYED",
      "description": "The fourth seal, located in the Ashenmere — a drowned chapel beneath a dead lake, northeast past Harrowfield.",
      "extra": "<li><b>Mechanic:</b> Featured a custodian defense mechanic: attacking the custodian turned the chapel water to poison.</li><li><b>Key Event (Day 41):</b> Holst decoded location from Architect's letter.</li><li><b>Key Event (Day 50):</b> Seal destroyed. Barry's first conscious rage triggered during Scribe ambush afterward.</li><li><b>Post-destruction:</b> The Scribe appeared at the chapel stairway with 8 soldiers. First in-person encounter. Party held the bottleneck at the stairs.</li><li><b>Quotes:</b> The Scribe: \"Not just a mirror — a door.\" and \"Fascinating.\"</li>"
    },
    {
      "id": "seal5",
      "label": "🦴 Seal 5 (Fames)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Hunger",
      "status": "DESTROYED",
      "description": "The fifth seal. Located in the Gristwall — deep southern marshes with no roads. Unlike previous seals, Fames actively feeds and expands.",
      "extra": "<li><b>Lore Note:</b> Corruption was spreading north: livestock dying, crops blackening south of the river, moving toward Frakenburg.</li><li><b>Key Event (Day 66):</b> War council at Baron Henning's manor in Frakenburg. Blitzkrieg strategy planned.</li><li><b>Key Event (Day 67):</b> Seal destroyed. Gristwall holdout occurred — where Sebastian's plant abilities first emerged publicly.</li><li><b>Lore Note:</b> Holst: \"Fames takes. It doesn't grow.\" meaning Seb's cherry blossoms are NOT seal corruption.</li><li><b>Lore Note:</b> Barry's ancestors reacted specifically to this seal.</li>"
    },
    {
      "id": "seal6",
      "label": "💀 Seal 6 (Perfidia)\n✗ DESTROYED",
      "group": "seal",
      "size": 20,
      "groupType": "Seals & Main Quest",
      "icon": "seal_broken",
      "role": "Faithlessness/Betrayal",
      "status": "DESTROYED (Day 89)",
      "description": "Sixth seal. Derelict house in abandoned ridge town south of Harren. Keeper: ghost of lonely woman bonded to seal. Reinhardt nat 20 poleaxe strike.",
      "extra": "<li><b>Location:</b> A house — someone has been living on top of it. Exact location not yet pinpointed.</li><li><b>Intel:</b> Architect's letter from Torfeld outpost: \"The sixth is ready. Feed it before the solstice.\"</li><li><b>Intel:</b> Active seal stone found in sealed crate at Torfeld outpost (dark, amber veins, warm, humming).</li><li><b>Unresolved:</b> \"Feed it\" implies it needs something specific. Solstice creates time pressure. Who is living on the house?</li><li><b>NEW INTEL (Day 86, via Clione's messenger):</b> Located south. Ordinary location. Wards failing. Approximately 4 weeks until critical.</li>"
    },
    {
      "id": "seal7",
      "label": "❓ Seal 7\nUNKNOWN",
      "group": "seal",
      "size": 25,
      "groupType": "Seals & Main Quest",
      "icon": "seal_unknown",
      "role": "The Final Seal",
      "status": "NOT YET REACHED",
      "description": "The final seal in the Architect's sequence. Almost nothing is known except the Edern manuscript prophecy.",
      "extra": "<li><b>Lore Note (Edern manuscript):</b> \"The mirror bears the mark willingly. The amber writes upon him, and he upon it. When the seventh seal is fed, the mirror opens.\"</li><li><b>Lore Note:</b> \"The mirror\" is believed to refer to Barry.</li><li><b>Lore Note:</b> This seal is the endgame — opening all seals simultaneously was the Scribe's original plan.</li><li><b>Day 89 Update:</b> Rocky showed seal 7 as only bright point on road Day 89. Last seal pulling entire ley network toward itself.</li>"
    },
    {
      "id": "architect",
      "label": "👁️‍🗨️ THE ARCHITECT",
      "group": "seal",
      "size": 35,
      "groupType": "Seals & Main Quest",
      "icon": "architect_eye",
      "role": "Mastermind",
      "status": "UNKNOWN",
      "description": "The mysterious figure who placed all seven seals on ley line intersections and designed their progression (each stronger than the last). Commands the Scribe via letters.",
      "extra": "<li><b>Intel:</b> Encoded positional data in tablets at each seal site. Sends activation schedule to the Scribe.</li><li><b>Intel:</b> Correspondence found at Torfeld outpost — direct letters.</li><li><b>Quotes:</b> \"The sixth is ready. Feed it before the solstice.\"</li><li><b>Unresolved:</b> Identity completely unknown. Motive unclear. Is the Architect still alive/active?</li>"
    },
    {
      "id": "scribe",
      "label": "🎭 THE SCRIBE",
      "group": "scribe",
      "size": 30,
      "groupType": "Scribe Network",
      "icon": "mask",
      "role": "Network Leader / Caster",
      "status": "ALIVE (Wounded)",
      "description": "Leader of the network operating under the Architect. Wears a white featureless mask. Goal: find and map ALL seals, open them ALL AT ONCE.",
      "extra": "<li><b>Description:</b> Face revealed when mask cracked at Ashenmere: gaunt, pale, one milky white eye, one sharp dark eye.</li><li><b>Abilities:</b> Poison cloud spell (3d8 damage), teleportation via inscribed stone.</li><li><b>Key Event (Day 50):</b> First in-person encounter at Ashenmere. Came to observe/capture Barry, NOT to kill. Seb cracked the mask (20 dmg) and crippled his leg (6 dmg). Teleported away.</li><li><b>Quotes:</b> \"The vessel.\" / \"The inscribed one.\" / \"Not just a mirror — a door.\"</li><li><b>Unresolved:</b> Still alive, wounded. Why does he want Barry? What does \"a door\" mean?</li>"
    },
    {
      "id": "kallas",
      "label": "🦅 Kallas",
      "group": "scribe",
      "size": 14,
      "groupType": "Scribe Network",
      "icon": "raven",
      "role": "Comms Leader",
      "status": "DEAD",
      "description": "Communications leader for the network. Handled courier system between outposts using stone markers. Killed during compound assault (Day 40).",
      "extra": ""
    },
    {
      "id": "compound",
      "label": "⛺ First Compound\n✗ DESTROYED",
      "group": "scribe",
      "size": 18,
      "groupType": "Scribe Network",
      "icon": "tent",
      "role": "Outpost",
      "status": "DESTROYED (Day 40)",
      "description": "The first Scribe outpost discovered and destroyed by the party. Located near the Scoria (Seal 3 site).",
      "extra": "<li><b>Intel Found:</b> Maps with 4 red-circled locations, 3 coded journals (\"The Sequence,\" \"The Mirror,\" \"The Opening\"), list of 7 names (3 crossed out), alchemical lab.</li><li><b>Intel Found:</b> Architect's letter (decoded by Holst → revealed Seal 4 & 5 locations + activation window).</li><li><b>Prisoner Intel:</b> Revealed THREE outposts total, Scribe's mask/habits, plans to open all seals at once.</li><li><b>Unresolved:</b> 3 coded journals not fully decoded. List of 7 names significance unknown.</li>"
    },
    {
      "id": "marsh_post",
      "label": "⛺ Marshes Post",
      "group": "scribe",
      "size": 16,
      "groupType": "Scribe Network",
      "icon": "tent",
      "role": "Outpost",
      "status": "UNCLEAR",
      "description": "One of the three initial outposts revealed by compound prisoner. Functioned to block the route to The Gristwall (Seal 5 site). Status unclear — may have been bypassed during Gristwall assault.",
      "extra": ""
    },
    {
      "id": "torfeld_outpost",
      "label": "⛺ Torfeld Outpost\n✗ DESTROYED",
      "group": "scribe",
      "size": 20,
      "groupType": "Scribe Network",
      "icon": "tent",
      "role": "Southern Outpost",
      "status": "DESTROYED (Day 77)",
      "description": "Major Scribe operation south of Torfeld. Destroyed in a dawn assault by Yoyo, Sebastian, and Varn.",
      "extra": "<li><b>Key Event (Day 77):</b> Flash powder + 6 grenades opened assault. 16 dead, ~14 captured. Commander captured and traded intel.</li><li><b>Intel Found:</b> Sealed crate with active seal stone + dark vial + Architect's letter about Seal 6.</li><li><b>Intel Found:</b> Ledger with Halvard's name (exposed cargo network). Route maps showing 3 more waystations.</li><li><b>Revelation:</b> Scribe network is tracking Holst.</li>"
    },
    {
      "id": "halvard",
      "label": "⚒️ Halvard",
      "group": "scribe",
      "size": 18,
      "groupType": "Scribe Network",
      "icon": "crate",
      "role": "Coerced Cargo Runner",
      "status": "RELEASED",
      "description": "A man caught between two worlds. Coerced into running sealed cargo for the Scribe network for 6 years.",
      "extra": "<li><b>Key Event (Day 77):</b> Confronted after ledger found. Confessed everything. Yoyo cut him free, told him to flee west with his family.</li><li><b>Intel:</b> Handler was \"Maren\" in Torfeld. Moved 8 sealed crates to Capital dockside warehouse over 2 years. Pickup was a grey-cloaked silent man.</li><li><b>Quotes:</b> Seb: \"Let him go, he's just a guy.\"</li>"
    },
    {
      "id": "maren",
      "label": "✉️ Maren",
      "group": "scribe",
      "size": 14,
      "groupType": "Scribe Network",
      "icon": "puppet",
      "role": "Scribe Handler",
      "status": "ACTIVE",
      "description": "Scribe network handler based in Torfeld. Handled Halvard's cargo runs for 6 years.",
      "extra": ""
    },
    {
      "id": "cap_warehouse",
      "label": "📦 Capital Warehouse\n(Grey Cloaks)",
      "group": "scribe",
      "size": 22,
      "groupType": "Scribe Network",
      "icon": "warehouse",
      "role": "Smuggling Endpoint",
      "status": "UNRESOLVED",
      "description": "Endpoint for sealed cargo routed through Halvard. Located at the Capital docks.",
      "extra": "<li><b>Intel:</b> 8 crates delivered over 2 years. Grey-cloaked man picks up deliveries.</li><li><b>Unresolved:</b> What's in the crates? Who is the grey-cloaked man? Party has not yet investigated.</li>"
    },
    {
      "id": "waystations",
      "label": "🚩 Waystations (x3)",
      "group": "scribe",
      "size": 16,
      "groupType": "Scribe Network",
      "icon": "cairn",
      "role": "Supply Nodes",
      "status": "MAPPED, UNVISITED",
      "description": "Scribe supply/communication network nodes. Locations: North of Veldsmark, East of the moors, South toward the marshes.",
      "extra": "<li><b>Intel:</b> Route maps found at Torfeld outpost. Potential future operations.</li>"
    },
    {
      "id": "journals",
      "label": "📓 Coded Journals",
      "group": "scribe",
      "size": 14,
      "groupType": "Scribe Network",
      "icon": "cipher_book",
      "role": "Intel",
      "status": "SECURED",
      "description": "Found at the Day 40 Compound. Titles: \"The Sequence\", \"The Mirror\", \"The Opening\". Contents not fully decoded in records. Dangling plot hook.",
      "extra": ""
    },
    {
      "id": "yoyo",
      "label": "🥷 YOYO",
      "group": "party",
      "size": 28,
      "groupType": "Party & Allies",
      "icon": "rapier",
      "role": "Human Rogue (Swashbuckler) Lv 9",
      "status": "ACTIVE",
      "description": "Reinhardt Steinbach. Retired soldier, aspiring merchant/empire builder. Master smith.",
      "extra": "<li><b>Description:</b> Black hair, brown eyes, ~180cm, scar on left forearm. Bohemian. Birthday April 10th.</li><li><b>Key Threads:</b> Körnling/Rocky plotline.</li><li><b>Combat:</b> Full mithral plate (masterwork). Sneak Attack 4d6, Uncanny Dodge.</li><li><b>Key Events:</b> Discovered Rocky (Day 83). Forged Körnling heart (smith 27). Captured 5 bandits (Day 24). Took on Varn as squire (Day 65). University archive research Day 84 — confirmed all 3 Rocky glyph meanings.</li><li><b>Gold:</b> 222₱ (after buying 5kg thurnaz from Elke for 60₱)</li><li><b>Unresolved:</b> Forge plot in Capital. Pocket entity interaction.</li><li><b>Key Event (Day 84):</b> Berth 9 — nat 20 crit (37 dmg non-lethal) on Dremek, single-hit capture.</li><li><b>Build:</b> Full 2024 PHB build confirmed — Steward's records were previously wrong.</li><li><b>Day 86:</b> Shaped thurnaz into rocky-like figure at Korven's forge (smith's tools 26). Figure twitched on its own.</li><li><b>Day 86:</b> Sparred at garrison with Kade, won both rounds.</li><li><b>Current location:</b> Korven's forge.</li><li><b>Planning:</b> Learn Halfling from En and Dwarvish from George IC.</li><li><b>Day 87-89 Notes:</b> HP 67, Sneak 5d6, Panache, Init +10, Prof +4. Gold 292. Visited Torvun via portal D87. Rocky ley line scene D89.</li>"
    },
    {
      "id": "seb",
      "label": "🏹 SEBASTIAN\n⬅ DEPARTED",
      "group": "party",
      "size": 28,
      "groupType": "Party & Allies",
      "icon": "longbow",
      "role": "Human Ranger (Gloom Stalker) Lv 8",
      "status": "DEPARTED",
      "description": "Sebastian Holloway / Eerikki Matinpoika. Finnish origin. Quiet, tactical, deadly sharpshooter/infiltrator. DEPARTED — left via one-line note. No scene, no closure.",
      "extra": "<li><b>Description:</b> 34yo, lean, white hair (long wolf cut), emerald green eyes. Near-silent, suppresses emotion (CHA 5). Slowly cracking post-Gristwall.</li><li><b>Key Threads:</b> Mysterious plant abilities (cherry blossoms from skin, NOT seal-related), \"memory ocean\" visions.</li><li><b>Combat:</b> Arquebus, longbow, mithral cavalry sabre. Sharpshooter, Alert feats.</li><li><b>Key Events:</b> Cracked Scribe's mask (Day 50). Harrowfield dawn assault fire arrow (Day 44). Night of Secrets with Barry (Day 79).</li><li><b>Unresolved:</b> Dremmin Vael investigation. Persefall's surveillance.</li><li><b>Key Event (Day 84):</b> Berth 9 — sniped 3 from Gloom Stalker darkness (one nat 20 crit 27dmg).</li><li><b>DEPARTED:</b> Left via one-line note. No scene, no closure. George keeping the departure note.</li><li><b>Day 87-89 Notes:</b> HP 87, AC 17. Lucky feat added. DEPARTED status unchanged.</li>"
    },
    {
      "id": "barry",
      "label": "🪓 BARRY\nOFFSCREEN",
      "group": "party",
      "size": 28,
      "groupType": "Party & Allies",
      "icon": "battleaxe",
      "role": "Dwarf Barbarian (Wild Magic) — Lv 7",
      "status": "OFFSCREEN (Frakenburg)",
      "description": "Brourdaem \"Barry\" Greyfury. Inventor of the Glyph System. Channels ancestral spirits through elemental rings.",
      "extra": "<li><b>Description:</b> 4'2\", stocky, ash brown hair. Forearm scars spreading past wrists (growth, not corruption). All lore is fully public.</li><li><b>Key Threads:</b> Scribe's interest (\"the door\"), Edern prophecy (\"the mirror\"), Glyph research.</li><li><b>Combat:</b> Wild Magic Surge. Feral Instinct. Firebolt launcher.</li><li><b>Key Events:</b> Broke Seal 5 (Day 67). Night of Secrets (called Seb by name, Day 79). 3 rings attuned (Day 83).</li><li><b>Unresolved:</b> Architect targeting him. Scar spreading. Deeper ancestors in the Villa.</li><li><b>Key Event (Day 84):</b> Berth 9 — KO'd 5 grey cloaks non-lethal (wild surge: blinding). Held south passage.</li><li><b>Day 87-89 Notes:</b> Departed D85 with Holst. Returning to Copper Lantern next session. Tibo plays En primary, Barry for RP only.</li>"
    },
    {
      "id": "george",
      "label": "🧙‍♂️ GEORGE",
      "group": "party",
      "size": 28,
      "groupType": "Party & Allies",
      "icon": "staff",
      "role": "Human Wizard (Abjuration) Lv 9",
      "status": "ACTIVE",
      "description": "Now at the Capital (Copper Lantern). Sage background. \"The normal one\" per Wulf's ranking. ALL CHARACTER LORE NOW PUBLIC (Mar 12 decision). Vampire/dhampir/spellbook. Tired of secrets causing tension.",
      "extra": "<li><b>Description:</b> 6'4\", 35yo, silver hair (spell accident). College robes over gambeson, staff.</li><li><b>Key Threads:</b> Museum/compound outside Frakenburg, cerulean mining, organ trade.</li><li><b>Combat:</b> Projected Ward (reaction absorb damage for ally). Counterspell, Greater Invisibility.</li><li><b>Key Events:</b> Handled Seal 1 solo. Rejoined party Day 84 via Varro's travel writ. Examined Barry's scars (arcana 13). Visited creek with Barry+Holst to see Val's fading vines.</li><li><b>Unresolved:</b> Stone Tablets 1-3 purpose. Red Crystal Shard purpose. Needs briefing.</li><li><b>Key Event (Day 84):</b> Berth 9 cellar — Detect Magic + Identify on workbench (replication template, academic signature, A/R mark). Arcane Eye 150ft down south passage. Released Swordsman B.</li><li><b>STAGE 2 TRANSFORMATION (Day 86):</b> Involuntary Misty Step — black mist, slammed into wall, no verbal/intent, 2nd-level slot burned. Arcana 21: 'something waking up.' Told En.</li><li><b>Balance:</b> 75 pfennigs (after Falk & Sons shopping).</li><li><b>Day 84-86:</b> Found Eiserne Wacht buckle in canal.</li><li><b>Day 85:</b> Adopted blind cat Sheila.</li><li><b>Note:</b> Sleeping rough (hay + backpack, subdued mood). Has underground necromancy knowledge (revealed to party). Face-studying habit — creepy but endearing.</li><li><b>Day 86:</b> Conditional acceptance of Clione: 'Stick around, help, give real answers.'</li><li><b>Day 86:</b> Called En his protégé.</li><li><b>Day 87-89 Notes:</b> HP 57, DC 17, Ward 21HP. Telekinesis + Contact Other Plane. Crystal focus CRACKED. Dhampir Stage 2. Found Prof Piero D87. Panic-dispelled En at Seal 6.</li>"
    },
    {
      "id": "holst",
      "label": "📜 Edric Holst",
      "group": "party",
      "size": 22,
      "groupType": "Party & Allies",
      "icon": "scroll",
      "role": "Scholar & Seal Expert",
      "status": "OFFSCREEN with Barry",
      "description": "Academic researcher specializing in seals. 11 years studying seals and ley lines. Lost marriage and funding over it.",
      "extra": "<li><b>Description:</b> 50s, wiry, spectacles, ink-stained fingers. Clinical, analytical.</li><li><b>Lore Note:</b> Decoded seal locations from Architect's tablets. Collaborates with Barry on glyphs.</li><li><b>Key Events:</b> Seb told him everything (Day 81). Designed heart schema with Barry (Day 83).</li><li><b>Quotes:</b> \"you're not cursed. you're carrying your family.\"</li><li><b>Unresolved:</b> ON THE SCRIBE'S WATCH LIST. Needs to examine the complete Körnling device.</li><li><b>Day 87-89 Notes:</b> Traveling to Frakenburg. Research mission.</li>"
    },
    {
      "id": "varn",
      "label": "🛡️ Varn",
      "group": "party",
      "size": 15,
      "groupType": "Party & Allies",
      "icon": "squire",
      "role": "Yoyo's Squire",
      "status": "ACTIVE",
      "description": "Lean, dark hair. Quiet, disciplined. Recruited Day 65. Proved himself in combat holding the east gate at the scribe outpost (Day 77).",
      "extra": ""
    },
    {
      "id": "mira",
      "label": "🦉 Mira Voss",
      "group": "party",
      "size": 15,
      "groupType": "Party & Allies",
      "icon": "scout",
      "role": "Seb's Protégé",
      "status": "ACTIVE",
      "description": "19yo. Ex-scout corps. Fast, quiet, reads terrain. Light composite bow. Recruited Day 80.",
      "extra": ""
    },
    {
      "id": "wulf",
      "label": "⚔️ Sir Wulf",
      "group": "party",
      "size": 18,
      "groupType": "Party & Allies",
      "icon": "gauntlet",
      "role": "Garrison Knight",
      "status": "ACTIVE",
      "description": "Stocky brawler, half plate. Served with Yoyo previously. Under Captain Mauer.",
      "extra": "<li><b>Dynamics:</b> Ranks Barry as \"the cook\" (safe). Ranks Seb as \"UNDER INVESTIGATION\".</li><li><b>Key Event:</b> Saw Seb grow flowers at Gristwall — asked \"is that the seal doing that to you?\"</li><li><b>Lore Note:</b> Still has mystery ace of spades in his pocket from Seb's card trick (Day 50).</li>"
    },
    {
      "id": "persefall",
      "label": "👁️ Sir Persefall",
      "group": "party",
      "size": 18,
      "groupType": "Party & Allies",
      "icon": "vigil_eye",
      "role": "Garrison Knight",
      "status": "ACTIVE",
      "description": "Disciplined, brigandine. Got Mauer's approval + horses for the party.",
      "extra": "<li><b>Dynamics:</b> Watchful — positions to always see Seb after Gristwall. Same behavior toward Barry. Rapport under strain.</li><li><b>Lore Note:</b> Assigned Barry permanent breakfast duty after his nat 20 cooking.</li>"
    },
    {
      "id": "dietrich",
      "label": "🗡️ Sir Dietrich",
      "group": "party",
      "size": 18,
      "groupType": "Party & Allies",
      "icon": "sword",
      "role": "Garrison Knight",
      "status": "ACTIVE",
      "description": "Stoic. Yoyo's old friend from before army. Brigandine.",
      "extra": "<li><b>Dynamics:</b> Confronted Yoyo: \"you knew\" (about Seb's nature). Unresolved.</li><li><b>Lore Note:</b> Only genuinely unsettled once — when Yoyo \"swallowed\" an arming sword.</li>"
    },
    {
      "id": "mauer",
      "label": "🎖️ Capt. Mauer",
      "group": "party",
      "size": 20,
      "groupType": "Party & Allies",
      "icon": "helmet",
      "role": "Garrison Commander",
      "status": "ACTIVE",
      "description": "Commands garrison at the Capital. Briefed on seals. Authorized knight support for party. Has intel on Scribe camps.",
      "extra": ""
    },
    {
      "id": "henning",
      "label": "👑 Baron Henning",
      "group": "party",
      "size": 20,
      "groupType": "Party & Allies",
      "icon": "crown",
      "role": "Lord of Frakenburg",
      "status": "ACTIVE",
      "description": "Political authority. Hosted the war council. Funded the Gristwall mission (600₱ fund + horses). Honored the 1000₱/each bounty on return.",
      "extra": ""
    },
    {
      "id": "varro",
      "label": "👮 Capt. Varro",
      "group": "party",
      "size": 18,
      "groupType": "Party & Allies",
      "icon": "watchtower",
      "role": "Watch House Commander",
      "status": "ACTIVE",
      "description": "Frakenburg militia captain. George's contact for investigation work and employer (10₱/day + travel writ). Suspects council corruption.",
      "extra": ""
    },
    {
      "id": "nella",
      "label": "👩‍🍳 Nella",
      "group": "party",
      "size": 14,
      "groupType": "Party & Allies",
      "icon": "cauldron",
      "role": "Innkeeper (Crooked Step)",
      "status": "ACTIVE",
      "description": "Runs inn in Frakenburg. Watches Barry quietly. Noticed his scar spreading before Barry did.",
      "extra": ""
    },
    {
      "id": "gill",
      "label": "🪨 Gill (Earth)",
      "group": "lore",
      "size": 18,
      "groupType": "Barry's Lore",
      "icon": "stone_fist",
      "role": "The Protector",
      "status": "BOUND",
      "description": "Barry's ancestor. Warrior spirit. Val's younger brother. Deep voice. Calls Barry \"little one.\"",
      "extra": "<li><b>Mechanic:</b> Bound to Silver Earth Ring (🜃). Grants +1 AC, +1 saves, adv Intimidation/Perception.</li><li><b>Manifestation:</b> Spectral amber dwarf with bare fists (1d8+prof force damage).</li><li><b>Key Event (Day 83):</b> Full manifestation at Drega's shop.</li><li><b>Unresolved:</b> Stubborn — won't return to the Villa willingly, needs Canto's Shatter to recall.</li>"
    },
    {
      "id": "canto",
      "label": "💨 Canto (Air)",
      "group": "lore",
      "size": 18,
      "groupType": "Barry's Lore",
      "icon": "lyre",
      "role": "The Bard",
      "status": "BOUND",
      "description": "Barry's ancestor. Uncle to Gill and Val. Musical/magical spirit.",
      "extra": "<li><b>Mechanic:</b> Bound to Silver Air Ring (🜁). Grants Shatter, Silence, Heroism.</li><li><b>Manifestation:</b> Gold shimmer, floats, intangible.</li><li><b>Key Event (Day 81):</b> AWAKENED.</li><li><b>Key Event (Day 83):</b> Recognized Torvun Greyfury from family stories.</li><li><b>Lore Note:</b> His Shatter spell specifically recalls Gill.</li>"
    },
    {
      "id": "val",
      "label": "🌊 Val (Water)",
      "group": "lore",
      "size": 18,
      "groupType": "Barry's Lore",
      "icon": "water_lily",
      "role": "The Communicator",
      "status": "BOUND",
      "description": "Barry's ancestor. Nature spirit. Gill's older sister. Warm, kind. Communicates through feelings/impressions, not words.",
      "extra": "<li><b>Mechanic:</b> Bound to Silver Water Ring (🜄). Grants adv Insight, Entangle, Enlarge/Reduce.</li><li><b>Manifestation:</b> Green-blue light. CREATION magic — makes real, physical things (not illusions).</li><li><b>Key Event (Day 83):</b> First full physical manifestation at creek outside south gate. Created real vines that faded after ~1 min.</li><li><b>Quotes:</b> \"Hello barry, I've wanted to meet you for so long.\"</li>"
    },
    {
      "id": "scars",
      "label": "✨ Barry's Scars",
      "group": "lore",
      "size": 16,
      "groupType": "Barry's Lore",
      "icon": "veins",
      "role": "Magical Interface",
      "status": "SPREADING",
      "description": "Scars on Barry's forearms. Spreading past wrists toward palms/fingers.",
      "extra": "<li><b>Lore Note:</b> Architecture matches seal constructs. Growth pattern follows glyph progress.</li><li><b>Quotes:</b> Holst: \"growth, not corruption.\"</li><li><b>Unresolved:</b> What is the final form/purpose of the scars?</li>"
    },
    {
      "id": "glyph_system",
      "label": "🔣 Glyph System",
      "group": "lore",
      "size": 18,
      "groupType": "Barry's Lore",
      "icon": "rune",
      "role": "Magical Engineering",
      "status": "ACTIVE",
      "description": "Barry's magical research framework. Conditional magic inscription (\"medieval programming\").",
      "extra": "<li><b>Mechanic:</b> 4 function glyphs (☉♮🜃☽) + 4 elemental glyphs (🜂🜄🜁🜃). Basic = auto success, compound = check required. Glyph Study +6.</li><li><b>Key Events:</b> Firebolt launcher built (nat 20, Day 81). Toggle torch (if/else logic) proven (Day 82).</li><li><b>Lore Note:</b> Körnling binding is fundamentally a glyph synchronization problem (Arcana 17).</li><li><b>Pre-Dwarvish Glyphs (Day 84, all 3 translated):</b> Glyph 1: \"passage/threshold\" — confirmed via Rocky + Aelmund's Inscriptions of the Deep Halls. Glyph 2: \"active convergence\" (extra stroke = active state). Glyph 3: the pocket entity — not in any catalogue, Rocky went dark explaining it (~1 sec full blackout).</li><li><b>Source:</b> University archive (Aelmund's Inscriptions of the Deep Halls) + Rocky direct confirmation.</li>"
    },
    {
      "id": "rocky",
      "label": "🪨 ROCKY\n(Körnling)",
      "group": "rocky",
      "size": 28,
      "groupType": "Rocky & Device",
      "icon": "orb",
      "role": "The Finder (Piece 1 of 5)",
      "status": "ACTIVE",
      "description": "A round piece of thurnaz (deep iron). Small, heavy, warm to the touch, pulses amber. The mobile piece — moves, carves, communicates.",
      "extra": "<li><b>Key Event (Day 83):</b> Found by Yoyo during rat extermination at Warehouse 14. Led Yoyo to Torvun's workshop.</li><li><b>Lore Note:</b> Displaces material cleanly (no dust) into \"the pocket\". Self-aware: \"ME + MORE = DEVICE\". Communicates via amber mist projections (shapes, basic writing, pre-dwarvish glyphs).</li><li><b>Labels:</b> MAKER (Torvun), FINDER → MORE (Yoyo), FRIEND? → DONT KNOW (Seb), NEW (Holst).</li><li><b>Unresolved:</b> What does FINDER → MORE mean for Yoyo?</li><li><b>Lore Note:</b> Writes pre-dwarvish glyphs natively (3 glyphs).</li><li><b>Key Event (Day 84):</b> Confirmed all 3 glyph meanings with Yoyo in locked room at Copper Lantern. Glyph 3 (pocket entity) caused visible distress — longest Rocky has ever gone dark (~1 sec full blackout).</li><li><b>Day 87-89 Notes:</b> Reunited with Torvun D87. Ley line projection on road D89. Felt seal 6 break. Needs still ground at Harren to map properly.</li>"
    },
    {
      "id": "device",
      "label": "⚙️ Ley Line Mapper",
      "group": "rocky",
      "size": 24,
      "groupType": "Rocky & Device",
      "icon": "compass",
      "role": "Dwarven Construct",
      "status": "ASSEMBLED",
      "description": "5-piece dark iron dwarven construct created by Torvun Greyfury. Detects ley line convergence points (where seals sit).",
      "extra": "<li><b>Pieces:</b> 1. Finder (Rocky), 2. Anchor, 3. Ring, 4. Shaft, 5. Heart.</li><li><b>Key Event (Day 83):</b> Heart forged by Yoyo (smith 27). Dark iron spiral, copper veins. All 5 pieces assembled.</li><li><b>Projections:</b> Ley line network map, dwarf silhouette + arrow, heartbeat waveform.</li><li><b>Quotes:</b> Drega: \"Torvun didn't build a tool. He built a key.\"</li><li><b>Lore Note:</b> Binding problem was glyph synchronization. Syncs specifically for Barry.</li>"
    },
    {
      "id": "pocket",
      "label": "🌌 THE POCKET\n⚠️ HUNGRY",
      "group": "rocky",
      "size": 28,
      "groupType": "Rocky & Device",
      "icon": "void_portal",
      "role": "Interstitial Space",
      "status": "DANGEROUS",
      "description": "The space between ley lines. \"The fold in the cloth.\" Material displaced by Rocky goes here. The Device is the first tool in centuries that can map/open it.",
      "extra": "<li><b>Key Event (Day 83 Night):</b> Rocky reached in with heart active. Something formless but aware reached back.</li><li><b>Quotes (Rocky):</b> \"HUNGRY / NOT ALONE IN THERE / IT KNOWS THE LINES / BEEN THERE LONG TIME / WAITING\" and \"IT STILL KNOWS WE LOOKED\"</li><li><b>Unresolved:</b> What is the entity? Is it related to the Scribe's \"door\"? What happens if device activates near a seal?</li>"
    },
    {
      "id": "torvun",
      "label": "🧔 Torvun Greyfury",
      "group": "rocky",
      "size": 20,
      "groupType": "Rocky & Device",
      "icon": "anvil",
      "role": "The Maker",
      "status": "CONFIRMED DEAD (~25 years)",
      "description": "Dwarf craftsman. Barry's grand-uncle. Created the körnlings ~30 years ago. Discovered the pattern in the ore, didn't design it.",
      "extra": "<li><b>Lore Note:</b> Left 30 years ago, went south. Left a letter: heart must be forged from thurnaz by \"someone who isn't me.\"</li><li><b>Lore Note:</b> Had 7 failed heart designs. Imposed shape from outside instead of following the ore's grain.</li><li><b>Quotes:</b> \"they must know each other before they can know the heart. the finder leads.\"</li><li><b>Unresolved:</b> Dead or alive? Why did he lock the workshop?</li><li><b>Day 86 Intel:</b> Has practice marks but no notes. Just shapes metal — doesn't add anything to thurnaz. Key witness: thurnaz has inherent life.</li><li><b>Day 87-89 Notes:</b> Soul in dwarven ancestral halls. Reinhardt visited via portal D87. 12 total kornlings made. Message for Barry: greyfurys don't break.</li>"
    },
    {
      "id": "drega",
      "label": "🔧 Drega Ironhand",
      "group": "rocky",
      "size": 18,
      "groupType": "Rocky & Device",
      "icon": "clockwork",
      "role": "Artificer",
      "status": "ACTIVE",
      "description": "Artificer in outer ring east. \"IRONHAND REPAIRS — CLOCKS, LOCKS, MECHANISMS. NO SWORDS.\" Knew Torvun personally.",
      "extra": "<li><b>Key Events (Day 83):</b> Recognized Torvun's tap rhythm. Identified device as a \"key\" to the pocket.</li><li><b>Key Events (Day 83 Night):</b> Panicked after pocket incident. Warded her shop, provided thurnaz pouch to dampen device signal.</li><li><b>Lore Note:</b> Revealed Torvun is Barry's uncle.</li>"
    },
    {
      "id": "thurgen",
      "label": "📝 Thurgen",
      "group": "rocky",
      "size": 18,
      "groupType": "Rocky & Device",
      "icon": "quill",
      "role": "Notary",
      "status": "ACTIVE",
      "description": "Dwarf notary in craftsmen's district.",
      "extra": "<li><b>Key Events:</b> Notarized Torvun's workshop lease 30 years ago. Translated körnling inscriptions for Yoyo (6₱).</li><li><b>Quotes:</b> \"Holst needs to see this tonight.\"</li>"
    },
    {
      "id": "capital",
      "label": "🏰 THE CAPITAL",
      "group": "location",
      "size": 35,
      "groupType": "Locations",
      "icon": "fortress",
      "role": "Major Coastal City",
      "status": "PARTY HUB",
      "description": "Largest city in the region. ~1 week overland from Frakenburg. Current campaign hub (Day 84).",
      "extra": "<li><b>Key Locations:</b> Copper Lantern (inn), Korven's Forge, Merchant's Guild HQ, Docks.</li><li><b>Key Events:</b> Berth 14 cleared. Körnling device assembled. Val manifested at south gate creek.</li>"
    },
    {
      "id": "frakenburg",
      "label": "🏙️ Frakenburg",
      "group": "location",
      "size": 30,
      "groupType": "Locations",
      "icon": "walled_city",
      "role": "Walled River City",
      "status": "ACTIVE",
      "description": "Major early-campaign hub. Pop ~8,000. Governed by Council of Five & Baron Henning.",
      "extra": "<li><b>Districts:</b> Millward (docks), The Keeps (military), Sootfall (craftsmen), The Tangle, Highfoot, Outer Ring.</li><li><b>Key Locations:</b> George's compound, Crooked Step inn, Old Vault (sealed, pre-founding, makes noise).</li>"
    },
    {
      "id": "veldsmark",
      "label": "🏘️ Veldsmark",
      "group": "location",
      "size": 20,
      "groupType": "Locations",
      "icon": "crossroads",
      "role": "Crossroads Town",
      "status": "PEACEFUL",
      "description": "Trade town with wooden palisade. Party origin point. Where Holst was first found at The Red Yoke tavern.",
      "extra": ""
    },
    {
      "id": "torfeld",
      "label": "🏘️ Torfeld",
      "group": "location",
      "size": 20,
      "groupType": "Locations",
      "icon": "town",
      "role": "Eastern Town",
      "status": "ACTIVE",
      "description": "Staging area for Scribe outpost assault. Halvard Gren's former base. Scribe handler \"Maren\" based here.",
      "extra": ""
    },
    {
      "id": "scoria",
      "label": "⛏️ The Scoria",
      "group": "location",
      "size": 16,
      "groupType": "Locations",
      "icon": "pickaxe",
      "role": "Underground Mines",
      "status": "CLEARED",
      "description": "Location of Seal 3 (Wrath). First Scribe compound discovered nearby.",
      "extra": ""
    },
    {
      "id": "ashenmere",
      "label": "🌊 The Ashenmere",
      "group": "location",
      "size": 16,
      "groupType": "Locations",
      "icon": "drowned_chapel",
      "role": "Dead Lake",
      "status": "CLEARED",
      "description": "Location of Seal 4 (Dolor) inside a drowned chapel. Site of the first in-person Scribe ambush. The Custodian was freed here.",
      "extra": ""
    },
    {
      "id": "gristwall",
      "label": "🌿 The Gristwall",
      "group": "location",
      "size": 16,
      "groupType": "Locations",
      "icon": "marsh",
      "role": "Deep Southern Marshes",
      "status": "CLEARED",
      "description": "Location of Seal 5 (Fames). No roads. Corruption was actively spreading north. Barry broke the seal here. Seb's plant abilities revealed here.",
      "extra": ""
    },
    {
      "id": "harrowfield",
      "label": "🔥 Harrowfield",
      "group": "location",
      "size": 22,
      "groupType": "Locations",
      "icon": "burning_ruins",
      "role": "NE Fort",
      "status": "BURNED (Day 44)",
      "description": "Former primary hub of the Scribe network. Guarded route to Ashenmere. Captured, looted, and burned by party + knights. Barry confessed seal connection here.",
      "extra": ""
    },
    {
      "id": "moors",
      "label": "🌲 Eastern Moors",
      "group": "location",
      "size": 16,
      "groupType": "Locations",
      "icon": "standing_stones",
      "role": "Wilderness",
      "status": "ACTIVE",
      "description": "NE of Frakenburg. Contains ruins with Architect's marks and an underground nexus chamber. George's expedition area. Former Scribe compound location.",
      "extra": ""
    },
    {
      "id": "berth14",
      "label": "⚓ Berth 14\n✓ RAIDED",
      "group": "location",
      "size": 18,
      "groupType": "Locations",
      "icon": "bollard",
      "role": "Capital Warehouse",
      "status": "CLEARED",
      "description": "Scribe cargo endpoint. Raided Day 82.",
      "extra": "<li><b>Intel:</b> Seal stone secured. Chalk signals (Fenn & Daughters). Letterbox drop (Red Dock Inn).</li><li><b>Evidence:</b> Iron key, note reading \"berth 9\".</li>"
    },
    {
      "id": "berth9",
      "label": "⚓ Berth 9\n✓ CLEARED",
      "group": "location",
      "size": 22,
      "groupType": "Locations",
      "icon": "bollard",
      "role": "Capital Warehouse — Seal Workshop",
      "status": "CLEARED (Day 84 Night)",
      "description": "Second Scribe endpoint at Capital docks. Connected to Berth 14 via iron key and note. Contains a cellar with an active seal replication workshop and a resonance shaft beneath.",
      "extra": "<li><b>Guards:</b> 2 KO'd non-lethal. Zero alarms.</li><li><b>Warehouse:</b> 6 alchemical vials, 3 inert seal fragments, route maps, 12 unmarked swords, 3 WARDED STONE CONTAINERS (UNOPENED), ledger, stamp (Fenn and Daughters), note from V. (Vael — network going dark), lockbox (40₱, iron key, SEALED LETTER — UNREAD).</li><li><b>Cellar:</b> Replication template etched into workbench — 3-phase: enchantment (draws energy) then necromancy (binds) then wax seal (locks into stone). Academic-level. Maker's mark: stylised A or R.</li><li><b>South Passage:</b> 150ft to chamber. Iron door (WARDED, abjuration). 3 stone pedestals (1 ACTIVE, humming). Transmutation line in floor. Chalk circle.</li><li><b>Combat Resolved:</b> 3 dead (Seb), 6 KO'd non-lethal (Barry), 2 surrendered, 1 released (George). Zero party casualties. Dremek captured (Yoyo nat 20 crit 37).</li><li><b>OPEN:</b> Containers. Letter. Iron door. Shaft. Doctor identity.</li>"
    },
    {
      "id": "copper_lantern",
      "label": "🍺 Copper Lantern",
      "group": "location",
      "size": 18,
      "groupType": "Locations",
      "icon": "lantern",
      "role": "Inn",
      "status": "PARTY HQ",
      "description": "Party's current base in the Capital. Barkeep is Ilse.",
      "extra": "<li><b>Lore Note:</b> Scribe lookout for Berth 9 is stationed here — operating right under party's nose.</li><li><b>Lore Note:</b> Yoyo owes 4₱ for breaking 2 tables backflipping.</li>"
    },
    {
      "id": "torvun_shop",
      "label": "🏚️ Torvun's Shop",
      "group": "location",
      "size": 16,
      "groupType": "Locations",
      "icon": "locked_door",
      "role": "Abandoned Shop",
      "status": "INVESTIGATED",
      "description": "Located on Vetter's Lane, Capital. Locked for 30 years.",
      "extra": "<li><b>Key Event (Day 83):</b> Rocky led Yoyo here. 3 more körnlings found. Torvun's journal found (perception 25).</li>"
    },
    {
      "id": "university_archive",
      "label": "📚 University Archive",
      "group": "location",
      "size": 18,
      "groupType": "Locations",
      "icon": "archive",
      "role": "Research Library",
      "status": "ACTIVE",
      "description": "Upper quarter of the Capital. Contains Aelmund's Inscriptions of the Deep Halls and Gretta Voss's Before the Forge Tongue. Pre-dwarvish glyph research source.",
      "extra": ""
    },
    {
      "id": "dremmin_vael",
      "label": "🎭 Dremmin Vael",
      "group": "scribe",
      "size": 20,
      "groupType": "Scribe Network",
      "icon": "puppet",
      "role": "Handler / Storage Operative",
      "status": "ACTIVE (CONFIRMED)",
      "description": "Human handler who moved Rocky from Torvun's workshop ~29 years ago. Hired by landlord. Guild license lapsed 18 years ago. Warehouse row, east docks.",
      "extra": "<li><b>Intel:</b> Thurgen notarized the transfer. Guild registry shows lapsed license.</li><li><b>Key Event (Day 84):</b> Note signed \"V.\" found at Berth 9 — confirms he is ACTIVE and aware Berth 14 fell. Ordering network to go dark.</li><li><b>Connection:</b> Seb investigating his location — warehouse row, east docks.</li><li><b>Unresolved:</b> Where is he now? Is he Scribe-aligned or independent? Why did he move Rocky specifically?</li>"
    },
    {
      "id": "dremek",
      "label": "Dremek\nCAPTURED",
      "group": "scribe",
      "size": 18,
      "groupType": "Scribe Network",
      "icon": "puppet",
      "role": "Site Manager (Berth 9)",
      "status": "CAPTURED",
      "description": "Dark coat. Ran pickups, storage, and distribution at Berth 9. Logistics only — doesn't make the product.",
      "extra": "<li><b>Intel:</b> Containers go south. Unmarked cart, 2 drivers, every 8-10 days. Contents are seal fragments — inert in, active out.</li><li><b>Intel:</b> 'The Doctor' — woman, mid-40s, dark hair, spectacles, guild-stitched satchel. Designed the process. Visited twice (3mo ago setup, 4 days ago check). Title not name. Rhythmic humming.</li><li><b>Intel:</b> Visited the shaft once. Stone well into bedrock. Something MOVES in it. 'The dark shifted.' Doctor forbade return.</li><li><b>Captured by:</b> Yoyo (nat 20 crit, 37 dmg non-lethal).</li>"
    },
    {
      "id": "the_doctor",
      "label": "Dr. Renata Hale\nIDENTIFIED",
      "group": "scribe",
      "size": 22,
      "groupType": "Scribe Network",
      "icon": "mask",
      "role": "Seal Production Designer",
      "status": "IDENTIFIED - Vetter's Lane",
      "description": "Woman, mid-40s, dark hair, spectacles, guild-stitched satchel. Academic. Designed the seal replication template at Berth 9.",
      "extra": "<li><b>Intel (Dremek):</b> Visited Berth 9 twice — 3 months ago (setup) and 4 days ago (check). Never identified herself. Rhythmic humming during work.</li><li><b>Intel (George):</b> Workbench signature is university-level enchantment. Maker's mark: stylised letter, partially gouged — A or R.</li><li><b>Intel (Dock Worker):</b> Guild/university dress, ~1hr downstairs during visit.</li><li><b>Connection:</b> Feeds the resonance shaft seal fragments.</li><li><b>CRITICAL LEAD:</b> Guild-stitched satchel + maker's mark + academic level = potentially identifiable through guild/university records.</li><li><b>Day 87-89 Notes:</b> Confirmed via maker's mark R. Fellowship suspended 18mo. Built 4 channeling devices. Scared, cooperative. Anti-scrying wards on home.</li>"
    },
    {
      "id": "resonance_shaft",
      "label": "Resonance Shaft\nSOMETHING ALIVE",
      "group": "seal",
      "size": 22,
      "groupType": "Seals & Main Quest",
      "icon": "void_portal",
      "role": "Deep Structure",
      "status": "ACTIVE / DANGEROUS",
      "description": "Stone well/shaft descending into bedrock beneath Berth 9 cellar. Behind a warded iron door. Older than the docks — possibly older than the city itself.",
      "extra": "<li><b>Intel (Dremek):</b> Low sound some nights — 'stone breathing.' Something MOVES inside. Not animal, not person. 'The dark shifted.' Shaft is 'sensitive to attention.' Doctor forbade return.</li><li><b>Intel (George):</b> Staircase descending beyond iron door. Warm air, mineral/metallic smell. Iron door is heavily warded (abjuration).</li><li><b>Connection:</b> Doctor is FEEDING it seal fragments. Resonance point on ley network?</li><li><b>OPEN:</b> What is it? Connected to the pocket? Connected to a seal? Why is the Doctor feeding it?</li>"
    },
    {
      "id": "en",
      "label": "🧪 EN MOSSTHORN",
      "group": "party",
      "size": 28,
      "groupType": "Party & Allies",
      "icon": "skull",
      "role": "Goblin Wizard 8 / Warlock 1 Lv 9",
      "status": "ACTIVE",
      "description": "Goblin necromancer disguised as halfling. Raised by halflings. Haunted One background. Uses prestidigitation for hygiene and disguise discipline. Familiar: Bub (skeleton rat, bones carried in pouch). Voted unanimously by players. Pronouns: she/her.",
      "extra": "<li><b>Day 85:</b> Introduced at Copper Lantern. George first contact. Bonded over graveyards.</li><li><b>Day 85:</b> Feign Death test on self — couldn't dismiss. George panicked, burned Dispel Magic 3rd level.</li><li><b>Day 85:</b> 'Wherever he goes, I go' — raw vulnerability. Goblin flash visible for half a second.</li><li><b>Day 85:</b> Rejected Clione. 'I don't know what seals are, I'm here for his knowledge.'</li><li><b>Day 86:</b> Bought dark goat leather + gloves at Falk & Sons (hide goblin fingers). 27.5 pfennigs.</li><li><b>Day 86 morning:</b> Set skeleton at creek with 'collapse' command. 24hr control timer active.</li><li><b>Unresolved:</b> Skeleton at creek — timer expires Day 87 morning. Blue eyes to red if not reasserted.</li><li><b>Unresolved:</b> Disguise intact. Nobody in-world knows she's goblin.</li><li><b>Unresolved:</b> Pack backstory — why/how they died.</li><li><b>Day 87-89 Notes:</b> HP 57, DC 17. Warlock pact initiated. Book of Shadows. Patron TBD at Lock 3. Polymorphed into horse D89. Failed seal WIS save. Guard arrest pending at capital.</li>"
    },
    {
      "id": "clione",
      "label": "🎩 CLIONE",
      "group": "party",
      "size": 24,
      "groupType": "Party & Allies",
      "icon": "lute",
      "role": "Variant Human Bard (College of Lore) Lv 9",
      "status": "ACTIVE - CELESTIAL REVEALED",
      "description": "Introduced Day 85 without group OOC vote (controversial). Conductor hat: blue, sparkly, galaxy-reflective. Accent doesn't match any known region. Magical residue adjacent to seal magic. Genuine but edited — fear underneath. Pronouns: they/them ALWAYS.",
      "extra": "<li><b>Day 85:</b> Introduced at Copper Lantern. George and En both rejected — must earn trust IC.</li><li><b>Day 85:</b> Nat 20 Performance (30 total) with lute.</li><li><b>Day 85:</b> Splashed water on George. 'Don't do that again.' Cold anger.</li><li><b>Day 85:</b> Accused En of sabotage. En fired back.</li><li><b>Day 86:</b> George insight 20 — genuine but edited, fear. Arcana 26 — trained, disciplined, seal-adjacent magic.</li><li><b>Day 86:</b> George conditional acceptance: 'Stick around, help, give real answers.'</li><li><b>Day 86:</b> Messenger returned, gave seal 6 intel to Clione alone: south, ordinary location, wards failing, 4 weeks.</li><li><b>Day 86:</b> Bought rapier from Korven (30 pfennigs).</li><li><b>Unresolved:</b> NOT the heaven messenger — separate entities.</li><li><b>Unresolved:</b> Trust not yet earned with party.</li><li><b>Unresolved:</b> Agreed to try quiet approach next session.</li><li><b>Day 87-89 Notes:</b> HP 66, AC 13, DC 16. Passive Insight 21. Celestial portal D87 (Torvun). Knows Barry-Torvun link. Celestial prayers completed. Telepathic feat.</li>"
    },
    {
      "id": "eiserne_wacht",
      "label": "⚙️ EISERNE WACHT",
      "group": "lore",
      "size": 16,
      "groupType": "Lore & Mysteries",
      "icon": "buckle",
      "role": "Unknown Organization",
      "status": "UNKNOWN",
      "description": "Organization or faction. George found a buckle with this marking in the canal. Significance unknown.",
      "extra": ""
    },
    {
      "id": "falk_sons",
      "label": "🧵 Falk & Sons",
      "group": "location",
      "size": 14,
      "groupType": "Locations",
      "icon": "leather",
      "role": "Leatherworker",
      "status": "ACTIVE",
      "description": "Leatherworker in the trade quarter of the Capital. Established Day 86.",
      "extra": ""
    },
    {
      "id": "elke_brandt",
      "label": "🪨 Elke Brandt",
      "group": "party",
      "size": 14,
      "groupType": "Party & Allies",
      "icon": "crate",
      "role": "Thurnaz Supplier",
      "status": "ACTIVE",
      "description": "Thurnaz supplier. Yoyo's contact for raw thurnaz material.",
      "extra": ""
    },
    {
      "id": "korven",
      "label": "⚒️ Korven",
      "group": "party",
      "size": 16,
      "groupType": "Party & Allies",
      "icon": "anvil",
      "role": "Blacksmith & Forge Owner",
      "status": "ACTIVE",
      "description": "Blacksmith and forge owner in the Capital. Previously lent forge to Yoyo. Sold Clione a rapier.",
      "extra": ""
    },
    {
      "id": "kade",
      "label": "🗡️ Kade",
      "group": "party",
      "size": 14,
      "groupType": "Party & Allies",
      "icon": "sword",
      "role": "Garrison Soldier",
      "status": "ACTIVE",
      "description": "Garrison soldier, second company. Sparring partner for Yoyo.",
      "extra": ""
    },
    {
      "id": "sheila",
      "label": "🐱 Sheila",
      "group": "party",
      "size": 12,
      "groupType": "Party & Allies",
      "icon": "paw",
      "role": "George's Cat",
      "status": "ACTIVE",
      "description": "Blind cat adopted by George (Day 85). Minor but George cares about her.",
      "extra": ""
    },
    {
      "id": "thurnaz_figure",
      "label": "🪨 Thurnaz Figure",
      "group": "rocky",
      "size": 16,
      "groupType": "Rocky & Device",
      "icon": "stone_fist",
      "role": "Shaped Thurnaz Creation",
      "status": "ACTIVE",
      "description": "Rocky-like figure shaped by Yoyo at Korven's forge (smith's tools check: 26). Figure twitched on its own. Confirms thurnaz has inherent life — Torvun just shapes metal, doesn't add anything. Possible connection to körnlings.",
      "extra": "<li><b>Day 87-89 Notes:</b> D87: Can stand 4-5sec. Copies one-leg balance. Responds to physical demo over verbal. Rocky watching silently.</li>"
    },
    {
      "id": "aldous_spy",
      "label": "Aldous (Spy)",
      "group": "scribe",
      "size": 16,
      "groupType": "Scribe Network",
      "icon": "puppet",
      "role": "Anonymous Surveillance Hire",
      "status": "ACTIVE",
      "description": "Copper Lantern coat guy. Hired anonymously 20P to watch back rooms. Dead drop: Millward Sq 3rd bench midday. Friend missing 3 days.",
      "extra": ""
    },
    {
      "id": "prof_piero",
      "label": "Prof. Ellis Piero",
      "group": "lore",
      "size": 16,
      "groupType": "Lore & Mysteries",
      "icon": "scroll",
      "role": "George's Former Teacher",
      "status": "UNKNOWN",
      "description": "Author of bloodline curse book. George's former teacher. Book donated to university 58 years ago. Someone else enquired after.",
      "extra": ""
    },
    {
      "id": "harren",
      "label": "Harren",
      "group": "location",
      "size": 18,
      "groupType": "Locations",
      "icon": "town",
      "role": "Small Town near Seal 6",
      "status": "TROUBLED",
      "description": "Crossroads town. Livestock dying without marks. Half the town fled north. Crossed Keys Inn. Party stayed D88-89.",
      "extra": ""
    }
  ],
  "edges": [
    {
      "from": "architect",
      "to": "seal1",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "seal2",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "seal3",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "seal4",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "seal5",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "seal6",
      "title": "Letter: \"Feed it before the solstice\""
    },
    {
      "from": "architect",
      "to": "seal7",
      "title": "Placed on ley line"
    },
    {
      "from": "architect",
      "to": "scribe",
      "title": "Sends instructions & activation schedules",
      "width": 3
    },
    {
      "from": "seal3",
      "to": "scoria",
      "title": "Located at"
    },
    {
      "from": "seal4",
      "to": "ashenmere",
      "title": "Located at"
    },
    {
      "from": "seal5",
      "to": "gristwall",
      "title": "Located at"
    },
    {
      "from": "seal5",
      "to": "frakenburg",
      "title": "Corruption threatened city"
    },
    {
      "from": "holst",
      "to": "seal4",
      "title": "Decoded location from tablets"
    },
    {
      "from": "holst",
      "to": "seal5",
      "title": "Decoded location from tablets"
    },
    {
      "from": "scribe",
      "to": "harrowfield",
      "title": "Visited monthly. Primary Hub.",
      "width": 2
    },
    {
      "from": "scribe",
      "to": "compound",
      "title": "Controlled outpost"
    },
    {
      "from": "scribe",
      "to": "marsh_post",
      "title": "Controlled outpost"
    },
    {
      "from": "scribe",
      "to": "torfeld_outpost",
      "title": "Controlled outpost"
    },
    {
      "from": "scribe",
      "to": "barry",
      "title": "Interested in \"the vessel\" / \"the door\"",
      "dashes": true,
      "width": 2
    },
    {
      "from": "scribe",
      "to": "holst",
      "title": "Network is tracking him"
    },
    {
      "from": "scribe",
      "to": "ashenmere",
      "title": "Ambushed party after Seal 4 destruction"
    },
    {
      "from": "kallas",
      "to": "compound",
      "title": "Based here. Ran comms."
    },
    {
      "from": "torfeld_outpost",
      "to": "seal6",
      "title": "Intel/Crate found here"
    },
    {
      "from": "torfeld_outpost",
      "to": "waystations",
      "title": "Route maps found here"
    },
    {
      "from": "halvard",
      "to": "cap_warehouse",
      "title": "Moved 8 sealed crates here"
    },
    {
      "from": "halvard",
      "to": "maren",
      "title": "Handled by Maren in Torfeld"
    },
    {
      "from": "marsh_post",
      "to": "gristwall",
      "title": "Blocked route to seal"
    },
    {
      "from": "harrowfield",
      "to": "ashenmere",
      "title": "Blocked route to seal"
    },
    {
      "from": "compound",
      "to": "journals",
      "title": "Found here"
    },
    {
      "from": "rocky",
      "to": "device",
      "title": "Component #1 (The Finder)"
    },
    {
      "from": "rocky",
      "to": "yoyo",
      "title": "Bonded. Yoyo forged the Heart. Confirmed glyph meanings Day 84 (Copper Lantern, locked room)."
    },
    {
      "from": "rocky",
      "to": "pocket",
      "title": "Reached in. Something reached back.",
      "width": 3
    },
    {
      "from": "rocky",
      "to": "seb",
      "title": "Recorded Seb (Remember pattern)"
    },
    {
      "from": "device",
      "to": "seal1",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal2",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal3",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal4",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal5",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal6",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "seal7",
      "title": "Maps convergence points",
      "dashes": true
    },
    {
      "from": "device",
      "to": "pocket",
      "title": "First tool in centuries to map interstitial space"
    },
    {
      "from": "device",
      "to": "holst",
      "title": "Holst needs to study this"
    },
    {
      "from": "torvun",
      "to": "rocky",
      "title": "Created the Körnlings 30 years ago"
    },
    {
      "from": "torvun",
      "to": "barry",
      "title": "Family (Greyfury). Estranged Uncle."
    },
    {
      "from": "torvun",
      "to": "torvun_shop",
      "title": "His abandoned workspace"
    },
    {
      "from": "thurgen",
      "to": "torvun_shop",
      "title": "Notarized lease 30 years ago"
    },
    {
      "from": "thurgen",
      "to": "device",
      "title": "Identified as Ley Line Mapper"
    },
    {
      "from": "drega",
      "to": "device",
      "title": "Sourcing Thurnaz to shield it"
    },
    {
      "from": "drega",
      "to": "torvun",
      "title": "Recognized Torvun's rhythms"
    },
    {
      "from": "yoyo",
      "to": "seb",
      "title": "Unbreakable bond. Frequent pranks.",
      "width": 2
    },
    {
      "from": "yoyo",
      "to": "barry",
      "title": "Settled hostility"
    },
    {
      "from": "seb",
      "to": "barry",
      "title": "Deep mutual trust. Night of Secrets."
    },
    {
      "from": "george",
      "to": "yoyo",
      "title": "Reunited Day 84"
    },
    {
      "from": "yoyo",
      "to": "varn",
      "title": "Retainer / Squire"
    },
    {
      "from": "seb",
      "to": "mira",
      "title": "Protégé. Watches him."
    },
    {
      "from": "seb",
      "to": "harrowfield",
      "title": "Planted forged assassination letter"
    },
    {
      "from": "george",
      "to": "varro",
      "title": "Investigation contact"
    },
    {
      "from": "george",
      "to": "frakenburg",
      "title": "Former base (Museum/Compound)"
    },
    {
      "from": "george",
      "to": "barry",
      "title": "Examined scars (arcana 13)"
    },
    {
      "from": "george",
      "to": "val",
      "title": "Investigated fading vines at creek"
    },
    {
      "from": "george",
      "to": "copper_lantern",
      "title": "Currently staying here"
    },
    {
      "from": "yoyo",
      "to": "wulf",
      "title": "Old garrison comrade"
    },
    {
      "from": "yoyo",
      "to": "persefall",
      "title": "Old garrison comrade"
    },
    {
      "from": "yoyo",
      "to": "dietrich",
      "title": "Old comrade. Confronted Yoyo."
    },
    {
      "from": "mauer",
      "to": "wulf",
      "title": "Commands"
    },
    {
      "from": "mauer",
      "to": "persefall",
      "title": "Commands"
    },
    {
      "from": "mauer",
      "to": "dietrich",
      "title": "Commands"
    },
    {
      "from": "wulf",
      "to": "seb",
      "title": "Highly suspicious of him",
      "dashes": true
    },
    {
      "from": "persefall",
      "to": "seb",
      "title": "Watchful. Strained rapport.",
      "dashes": true
    },
    {
      "from": "nella",
      "to": "scars",
      "title": "Quietly noticed them spreading"
    },
    {
      "from": "henning",
      "to": "gristwall",
      "title": "Funded assault mission"
    },
    {
      "from": "barry",
      "to": "gill",
      "title": "Channels via Earth Ring"
    },
    {
      "from": "barry",
      "to": "val",
      "title": "Channels via Water Ring"
    },
    {
      "from": "barry",
      "to": "canto",
      "title": "Channels via Air Ring"
    },
    {
      "from": "barry",
      "to": "scars",
      "title": "Magical interface on forearms"
    },
    {
      "from": "barry",
      "to": "glyph_system",
      "title": "Invented"
    },
    {
      "from": "seal5",
      "to": "gill",
      "title": "Reacted strongly to this seal"
    },
    {
      "from": "seal5",
      "to": "val",
      "title": "Reacted strongly to this seal"
    },
    {
      "from": "seal7",
      "to": "barry",
      "title": "\"The Mirror\" opens when 7th is fed",
      "width": 2
    },
    {
      "from": "capital",
      "to": "copper_lantern",
      "title": "Located in"
    },
    {
      "from": "capital",
      "to": "berth14",
      "title": "Located in Docks"
    },
    {
      "from": "capital",
      "to": "berth9",
      "title": "Located in Docks"
    },
    {
      "from": "capital",
      "to": "cap_warehouse",
      "title": "Located in Docks"
    },
    {
      "from": "capital",
      "to": "torvun_shop",
      "title": "Located in Craftsmen District"
    },
    {
      "from": "capital",
      "to": "drega",
      "title": "Located in Outer Ring East"
    },
    {
      "from": "capital",
      "to": "mauer",
      "title": "Garrisoned here"
    },
    {
      "from": "frakenburg",
      "to": "henning",
      "title": "Lord of city"
    },
    {
      "from": "frakenburg",
      "to": "varro",
      "title": "Watch House Commander"
    },
    {
      "from": "veldsmark",
      "to": "holst",
      "title": "Found him here"
    },
    {
      "from": "torfeld",
      "to": "torfeld_outpost",
      "title": "Outpost located south of here"
    },
    {
      "from": "torfeld",
      "to": "halvard",
      "title": "Encountered here"
    },
    {
      "from": "torfeld",
      "to": "maren",
      "title": "Based here"
    },
    {
      "from": "moors",
      "to": "compound",
      "title": "Scribe supply/staging operation (destroyed Day 40, 5 killed, 3 captured)"
    },
    {
      "from": "moors",
      "to": "architect",
      "title": "Ruins bear the Architect's marks + underground nexus chamber"
    },
    {
      "from": "moors",
      "to": "waystations",
      "title": "One waystation identified east of the moors from outpost intel"
    },
    {
      "from": "yoyo",
      "to": "university_archive",
      "title": "Researched glyphs (Investigation 18)"
    },
    {
      "from": "capital",
      "to": "university_archive",
      "title": "Located in upper quarter"
    },
    {
      "from": "university_archive",
      "to": "glyph_system",
      "title": "Source for glyph translations"
    },
    {
      "from": "berth14",
      "to": "berth9",
      "title": "Iron key + note 'berth 9' found at Berth 14"
    },
    {
      "from": "dremmin_vael",
      "to": "berth9",
      "title": "Note from 'V.' found here — ordering network dark"
    },
    {
      "from": "dremmin_vael",
      "to": "rocky",
      "title": "Moved Rocky from Torvun's shop ~29 yrs ago"
    },
    {
      "from": "dremmin_vael",
      "to": "torvun_shop",
      "title": "Hired to handle property transfer"
    },
    {
      "from": "seb",
      "to": "dremmin_vael",
      "title": "Investigating his location",
      "dashes": true
    },
    {
      "from": "seb",
      "to": "berth9",
      "title": "Sniped 2 crossbowmen from darkness (Day 84)"
    },
    {
      "from": "dremek",
      "to": "berth9",
      "title": "Managed operations"
    },
    {
      "from": "resonance_shaft",
      "to": "berth9",
      "title": "Below the cellar"
    },
    {
      "from": "resonance_shaft",
      "to": "pocket",
      "title": "Both ancient, both hungry",
      "dashes": true
    },
    {
      "from": "yoyo",
      "to": "dremek",
      "title": "Captured (nat 20 crit 37, non-lethal)"
    },
    {
      "from": "george",
      "to": "berth9",
      "title": "Cellar investigation (Detect Magic + Arcane Eye)"
    },
    {
      "from": "barry",
      "to": "berth9",
      "title": "KO'd 5 non-lethal, held south passage"
    },
    {
      "from": "scribe",
      "to": "the_doctor",
      "title": "Network connection",
      "dashes": true
    },
    {
      "from": "architect",
      "to": "the_doctor",
      "title": "Academic-level work — possible link?",
      "dashes": true
    },
    {
      "from": "cap_warehouse",
      "to": "berth9",
      "title": "Same dock network",
      "dashes": true
    },
    {
      "from": "dremmin_vael",
      "to": "dremek",
      "title": "Both in dock operations"
    },
    {
      "from": "en",
      "to": "clione",
      "title": "Distrusts. 'I don't know what seals are, I'm here for his knowledge.'"
    },
    {
      "from": "en",
      "to": "copper_lantern",
      "title": "Introduced here (Day 85). Washes up here."
    },
    {
      "from": "en",
      "to": "falk_sons",
      "title": "Bought leather armor + gloves (4 pfennigs total)"
    },
    {
      "from": "clione",
      "to": "george",
      "title": "Conditional acceptance. Splashed water → cold anger. 'Stick around, help, give real answers.'"
    },
    {
      "from": "clione",
      "to": "en",
      "title": "Asked En to cooperate. En refused — 'I'm here for this one.'"
    },
    {
      "from": "clione",
      "to": "copper_lantern",
      "title": "Based here. Plays lute."
    },
    {
      "from": "clione",
      "to": "seal6",
      "title": "Has intel via messenger: south, ordinary, wards failing, 4 weeks"
    },
    {
      "from": "clione",
      "to": "korven",
      "title": "Bought rapier (30 pfennigs)"
    },
    {
      "from": "george",
      "to": "eiserne_wacht",
      "title": "Found buckle in canal"
    },
    {
      "from": "george",
      "to": "falk_sons",
      "title": "Mended satchel for discount, bought travel pack (8 pfennigs)"
    },
    {
      "from": "george",
      "to": "sheila",
      "title": "Adopted (Day 85)"
    },
    {
      "from": "george",
      "to": "seb",
      "title": "Keeping departure note"
    },
    {
      "from": "yoyo",
      "to": "elke_brandt",
      "title": "Bought 5kg thurnaz (60 pfennigs)"
    },
    {
      "from": "yoyo",
      "to": "korven",
      "title": "Used forge to shape thurnaz"
    },
    {
      "from": "yoyo",
      "to": "thurnaz_figure",
      "title": "Created — shaped figure that twitched"
    },
    {
      "from": "yoyo",
      "to": "kade",
      "title": "Sparred at garrison, won both rounds"
    },
    {
      "from": "thurnaz_figure",
      "to": "rocky",
      "title": "Made from thurnaz — material has inherent life"
    },
    {
      "from": "torvun",
      "to": "thurnaz_figure",
      "title": "Witness: just shapes metal, adds nothing. Life is inherent."
    },
    {
      "from": "capital",
      "to": "falk_sons",
      "title": "Located in trade quarter"
    },
    {
      "from": "capital",
      "to": "korven",
      "title": "Forge located here"
    },
    {
      "from": "en",
      "to": "george",
      "title": "Deep trust. Shared room. Vampire research. Panic-dispelled twice.",
      "width": 2
    },
    {
      "from": "barry",
      "to": "holst",
      "title": "OFFSCREEN - Frakenburg research mission"
    },
    {
      "from": "the_doctor",
      "to": "berth9",
      "title": "CONFIRMED: Dr. Renata Hale. Maker's mark R."
    },
    {
      "from": "clione",
      "to": "torvun",
      "title": "Transported soul. Portal at chapel D87"
    },
    {
      "from": "yoyo",
      "to": "torvun",
      "title": "Met via celestial portal D87"
    },
    {
      "from": "george",
      "to": "prof_piero",
      "title": "Former teacher. Found book D87"
    },
    {
      "from": "prof_piero",
      "to": "university_archive",
      "title": "Book donated 58 years ago"
    },
    {
      "from": "rocky",
      "to": "seal7",
      "title": "Bright point - last seal pulling network"
    },
    {
      "from": "rocky",
      "to": "seal6",
      "title": "Felt ley lines shift when broken"
    },
    {
      "from": "harren",
      "to": "seal6",
      "title": "Ridge town nearby"
    },
    {
      "from": "aldous_spy",
      "to": "copper_lantern",
      "title": "Operating from here"
    },
    {
      "from": "clione",
      "to": "barry",
      "title": "Knows Torvun connection via heaven",
      "dashes": true
    },
    {
      "from": "en",
      "to": "barry",
      "title": "Not yet met IC",
      "dashes": true
    },
    {
      "from": "seal6",
      "to": "harren",
      "title": "Located south of Harren"
    },
    {
      "from": "capital",
      "to": "harren",
      "title": "~2 days south on foot"
    }
  ]
}