[
  {
    "id": "pack_forged",
    "class_id": "fangsworn",
    "name": "Pack-Forged",
    "flavor": "Alone I am a fang. Together we are jaws. Canid pack-fighting adapted into formalized combat doctrine. Fights best in formation, amplifying allies and being amplified.",
    "level_features": [
      { "level": 3,  "features": ["packmates_howl"] },
      { "level": 7,  "features": ["coordinated_takedown"] },
      { "level": 10, "features": ["rally_the_pack"] },
      { "level": 15, "features": ["wolfpack_frenzy"] },
      { "level": 18, "features": ["alphas_stand"] }
    ],
    "feature_definitions": {
      "packmates_howl":       { "name": "Packmate's Howl", "kind": "stub", "description": "When you hit a creature with a melee attack, the next ally attack against that creature has advantage. (Phase 5: deferred.)" },
      "coordinated_takedown": { "name": "Coordinated Takedown", "kind": "stub", "description": "+1d6 damage when you and an ally are both within 5 ft. of the same target. (Phase 5: deferred.)" },
      "rally_the_pack":       { "name": "Rally the Pack", "kind": "stub", "description": "Bonus action rally — 3 allies within 30 ft. gain temp HP equal to level + CHA. (Phase 5: deferred.)" },
      "wolfpack_frenzy":      { "name": "Wolfpack Frenzy", "kind": "stub", "description": "When you Action Surge, an ally within 10 ft. can take an additional action on their next turn. (Phase 5: deferred.)" },
      "alphas_stand":         { "name": "Alpha's Stand", "kind": "stub", "description": "When reduced to 0 HP, allies within 30 ft. gain advantage on attacks and saves until end of next turn. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "lone_fang",
    "class_id": "fangsworn",
    "name": "Lone Fang",
    "flavor": "The pack is a crutch. I am enough. Solo fighters and duelists — Felid tradition of individual perfection applied to warfare.",
    "level_features": [
      { "level": 3,  "features": ["isolation_bonus"] },
      { "level": 7,  "features": ["predators_focus"] },
      { "level": 10, "features": ["uncanny_counter"] },
      { "level": 15, "features": ["no_witnesses"] },
      { "level": 18, "features": ["perfect_kill"] }
    ],
    "feature_definitions": {
      "isolation_bonus":  { "name": "Isolation Bonus", "kind": "stub", "description": "+2 attack and +1 AC when no allied creature is within 10 ft. (Phase 5: deferred.)" },
      "predators_focus":  { "name": "Predator's Focus", "kind": "stub", "description": "Bonus action: focus a target — advantage on attacks against it for 1 minute, disadvantage on attacks against others. (Phase 5: deferred.)" },
      "uncanny_counter":  { "name": "Uncanny Counter", "kind": "stub", "description": "Reaction: when a creature misses you with a melee attack, attack it with advantage. (Phase 5: deferred.)" },
      "no_witnesses":     { "name": "No Witnesses", "kind": "stub", "description": "Regain HP equal to level + CON when you reduce a creature to 0 HP with no allies within 30 ft. (Phase 5: deferred.)" },
      "perfect_kill":     { "name": "Perfect Kill", "kind": "stub", "description": "Once per long rest: maximize all damage dice on a melee hit; if it kills, take another action. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "herd_wall",
    "class_id": "bulwark",
    "name": "Herd-Wall",
    "flavor": "Shoulder to shoulder. Horn to horn. They don't get through. Bovid-originated doctrine of communal defense.",
    "level_features": [
      { "level": 3,  "features": ["interlock_shields"] },
      { "level": 6,  "features": ["stampede_redirect"] },
      { "level": 10, "features": ["unbreakable_line"] },
      { "level": 15, "features": ["fortress"] },
      { "level": 20, "features": ["the_herd_stands"] }
    ],
    "feature_definitions": {
      "interlock_shields": { "name": "Interlock Shields", "kind": "stub", "description": "Adjacent ally: both gain +1 AC (stacks with Herd Wall to max +3 from adjacency). (Phase 5: deferred.)" },
      "stampede_redirect": { "name": "Stampede Redirect", "kind": "stub", "description": "Reaction: redirect a charge against an ally to yourself, gaining resistance to the damage. (Phase 5: deferred.)" },
      "unbreakable_line":  { "name": "Unbreakable Line", "kind": "stub", "description": "You and adjacent allies cannot be pushed/pulled/prone in Sentinel Stance. (Phase 5: deferred.)" },
      "fortress":          { "name": "Fortress", "kind": "stub", "description": "In Sentinel Stance: resistance to all damage except psychic. (Phase 5: deferred.)" },
      "the_herd_stands":   { "name": "The Herd Stands", "kind": "stub", "description": "Last One Standing also applies to allies who return to consciousness or your aura range. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "antler_guard",
    "class_id": "bulwark",
    "name": "Antler-Guard",
    "flavor": "I don't block. I make them regret swinging. Cervid tradition of active defense — punishment-based deterrence rather than passive absorption.",
    "level_features": [
      { "level": 3,  "features": ["retaliatory_strike"] },
      { "level": 6,  "features": ["threatening_presence"] },
      { "level": 10, "features": ["braced_for_impact"] },
      { "level": 15, "features": ["wrath_of_the_cornered"] },
      { "level": 20, "features": ["no_prey_here"] }
    ],
    "feature_definitions": {
      "retaliatory_strike":     { "name": "Retaliatory Strike", "kind": "stub", "description": "When taking damage from a melee attack in Sentinel Stance, deal 1d8 + CON back automatically. (Phase 5: deferred.)" },
      "threatening_presence":   { "name": "Threatening Presence", "kind": "stub", "description": "Hostile creatures starting their turn within 5 ft. take -2 to attack rolls against your allies. (Phase 5: deferred.)" },
      "braced_for_impact":      { "name": "Braced for Impact", "kind": "stub", "description": "Reaction: halve damage of a single attack but rooted (speed 0) until next turn. (Phase 5: deferred.)" },
      "wrath_of_the_cornered":  { "name": "Wrath of the Cornered", "kind": "stub", "description": "Below half HP: Retaliatory Strike → 2d8 + CON, affects any attacker (not just melee). (Phase 5: deferred.)" },
      "no_prey_here":           { "name": "No Prey Here", "kind": "stub", "description": "Last One Standing: hostile creatures in aura make WIS save or be frightened. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "blood_memory",
    "class_id": "feral",
    "name": "Blood Memory",
    "flavor": "My great-great-grandmother ate yours. I remember how it tasted. Predator-Clade Ferals who channel the deep, dark hunger.",
    "level_features": [
      { "level": 3,  "features": ["predatory_surge"] },
      { "level": 6,  "features": ["terror_scent"] },
      { "level": 10, "features": ["taste_of_the_old_world"] },
      { "level": 14, "features": ["apex_pursuit"] }
    ],
    "feature_definitions": {
      "predatory_surge":      { "name": "Predatory Surge", "kind": "stub", "description": "While raging: when you reduce a creature to 0 HP, move half-speed and make one additional melee attack. (Phase 5: deferred.)" },
      "terror_scent":         { "name": "Terror Scent", "kind": "stub", "description": "Prey-Clade creatures within 15 ft. save or be frightened of you each turn while raging. (Phase 5: deferred.)" },
      "taste_of_the_old_world":{ "name": "Taste of the Old World", "kind": "stub", "description": "Bite hit while raging: regain HP equal to CON. (Phase 5: deferred.)" },
      "apex_pursuit":         { "name": "Apex Pursuit", "kind": "stub", "description": "Speed +15 ft. toward frightened creatures. Cannot end rage while one is fleeing within 60 ft. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "stampede_heart",
    "class_id": "feral",
    "name": "Stampede Heart",
    "flavor": "You call it panic. I call it a weapon. Prey-Clade Ferals who weaponize the flight response.",
    "level_features": [
      { "level": 3,  "features": ["trampling_charge"] },
      { "level": 6,  "features": ["contagious_panic"] },
      { "level": 10, "features": ["born_to_run"] },
      { "level": 14, "features": ["the_herds_fury"] }
    ],
    "feature_definitions": {
      "trampling_charge":  { "name": "Trampling Charge", "kind": "stub", "description": "Move 20+ ft. straight before melee: +1d8 bludgeoning, save or prone. (Phase 5: deferred.)" },
      "contagious_panic":  { "name": "Contagious Panic", "kind": "stub", "description": "Bonus action: scream/bellow/stamp. All creatures within 15 ft. save or move 15 ft. away. (Phase 5: deferred.)" },
      "born_to_run":       { "name": "Born to Run", "kind": "stub", "description": "While raging, base speed doubles. Move through hostile spaces as difficult terrain. (Phase 5: deferred.)" },
      "the_herds_fury":    { "name": "The Herd's Fury", "kind": "stub", "description": "Hit while raging: an ally within 30 ft. can use reaction to move half-speed and attack the same target. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "noseblind",
    "class_id": "shadow_pelt",
    "name": "Noseblind",
    "flavor": "In a world where scent is truth, I am the lie. Scent-warfare specialists — the CIA of Theriapolis.",
    "level_features": [
      { "level": 3,  "features": ["scent_forgery"] },
      { "level": 7,  "features": ["olfactory_overload"] },
      { "level": 11, "features": ["read_the_room"] },
      { "level": 15, "features": ["ghost_protocol"] }
    ],
    "feature_definitions": {
      "scent_forgery":      { "name": "Scent Forgery", "kind": "stub", "description": "10-min prep: produce a scent packet mimicking an individual you've been near. (Phase 5: deferred.)" },
      "olfactory_overload": { "name": "Olfactory Overload", "kind": "stub", "description": "Action: scent bomb 30-ft. radius — scent abilities save or be scent-blinded for 1 minute. (Phase 5: deferred.)" },
      "read_the_room":      { "name": "Read the Room", "kind": "stub", "description": "1 minute observation: determine emotional state, clade, health, diet, mask use of any creature within 30 ft. (Phase 5: deferred.)" },
      "ghost_protocol":     { "name": "Ghost Protocol", "kind": "stub", "description": "Scent Ghost at-will; project any scent encountered. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "ambush_artist",
    "class_id": "shadow_pelt",
    "name": "Ambush Artist",
    "flavor": "The kill is over before they know it started. Pure combat application — Felid-derived ambush doctrine refined to surgical precision.",
    "level_features": [
      { "level": 3,  "features": ["opening_strike"] },
      { "level": 7,  "features": ["vanish"] },
      { "level": 11, "features": ["death_from_above"] },
      { "level": 15, "features": ["predators_patience"] }
    ],
    "feature_definitions": {
      "opening_strike":     { "name": "Opening Strike", "kind": "stub", "description": "First round of combat: if you act before your target, Sneak Attack +2d6. (Phase 5: deferred.)" },
      "vanish":             { "name": "Vanish", "kind": "stub", "description": "Bonus action after attack: Hide attempt with advantage even without cover. (Phase 5: deferred.)" },
      "death_from_above":   { "name": "Death From Above", "kind": "stub", "description": "Attack from 10+ ft. elevation: advantage and Sneak Attack +2d6. (Phase 5: deferred.)" },
      "predators_patience": { "name": "Predator's Patience", "kind": "stub", "description": "Spend a round taking no actions: next attack auto-crits if it hits. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "perfumer",
    "class_id": "scent_broker",
    "name": "Perfumer",
    "flavor": "Perfume isn't cosmetics. It's espionage. Intelligence branch — create identities, destroy reputations, extract confessions.",
    "level_features": [
      { "level": 3,  "features": ["bespoke_identity"] },
      { "level": 6,  "features": ["scent_interrogation"] },
      { "level": 10, "features": ["mass_influence"] },
      { "level": 14, "features": ["deep_cover"] },
      { "level": 18, "features": ["the_nose_behind_the_throne"] }
    ],
    "feature_definitions": {
      "bespoke_identity":          { "name": "Bespoke Identity", "kind": "stub", "description": "1 hour with kit: create a complete scent identity (clade, emotional baseline, individual markers). (Phase 5: deferred.)" },
      "scent_interrogation":       { "name": "Scent Interrogation", "kind": "stub", "description": "5-min conversation: extract one piece of concealed info per conversation. (Phase 5: deferred.)" },
      "mass_influence":            { "name": "Mass Influence", "kind": "stub", "description": "Pheromone compounds affect 60-ft. radius / up to 10 creatures. (Phase 5: deferred.)" },
      "deep_cover":                { "name": "Deep Cover", "kind": "stub", "description": "Bespoke Identity holds under stress and combat. (Phase 5: deferred.)" },
      "the_nose_behind_the_throne":{ "name": "The Nose Behind the Throne", "kind": "stub", "description": "1 hour procedure: permanently alter a creature's scent baseline. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "tracker",
    "class_id": "scent_broker",
    "name": "Tracker",
    "flavor": "I can tell you what they had for breakfast, how long ago they passed through, and whether they were scared. Field agents and manhunters.",
    "level_features": [
      { "level": 3,  "features": ["bloodhound"] },
      { "level": 6,  "features": ["predators_mark"] },
      { "level": 10, "features": ["terrain_reader"] },
      { "level": 14, "features": ["no_trail_goes_cold"] },
      { "level": 18, "features": ["the_hunt"] }
    ],
    "feature_definitions": {
      "bloodhound":         { "name": "Bloodhound", "kind": "stub", "description": "Track any creature whose scent you've encountered within 7 days. Determine trail age by scent. (Phase 5: deferred.)" },
      "predators_mark":     { "name": "Predator's Mark", "kind": "stub", "description": "Mark a creature for 24 hours: know direction and approximate distance. Up to 3 marks. (Phase 5: deferred.)" },
      "terrain_reader":     { "name": "Terrain Reader", "kind": "stub", "description": "1-min scenting: how many creatures, their clades, emotions, and whether violence occurred (within 48 hours). (Phase 5: deferred.)" },
      "no_trail_goes_cold": { "name": "No Trail Goes Cold", "kind": "stub", "description": "Tracking extends to 30 days; water/fire/chemicals impose disadvantage rather than failure. (Phase 5: deferred.)" },
      "the_hunt":           { "name": "The Hunt", "kind": "stub", "description": "Once per long rest: know exact location of marked target for 1 hour, double speed toward them, advantage on attacks. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "the_warden",
    "class_id": "covenant_keeper",
    "name": "The Warden",
    "flavor": "I guard the line between person and prey. No one crosses it while I breathe. Enforcement branch — patrol borders, investigate rawfang activity.",
    "level_features": [
      { "level": 3,  "features": ["wardens_mark"] },
      { "level": 7,  "features": ["judgment"] },
      { "level": 15, "features": ["relentless_pursuit"] },
      { "level": 20, "features": ["final_judgment"] }
    ],
    "feature_definitions": {
      "wardens_mark":       { "name": "Warden's Mark", "kind": "stub", "description": "Bonus action: mark a suspected violator. Know direction/distance and advantage on Insight/Perception against them for 24 hours. (Phase 5: deferred.)" },
      "judgment":           { "name": "Judgment", "kind": "stub", "description": "Hit a marked creature: spend Covenant's Authority for additional radiant-equivalent damage. (Phase 5: deferred.)" },
      "relentless_pursuit": { "name": "Relentless Pursuit", "kind": "stub", "description": "Speed +10 toward marked creature. Cannot be slowed/restrained by non-magical means. (Phase 5: deferred.)" },
      "final_judgment":     { "name": "Final Judgment", "kind": "stub", "description": "Reduce a marked creature to 0 HP: declare Final Judgment. They cannot be revived/healed; nearby hostiles save or are frightened. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "the_bridge",
    "class_id": "covenant_keeper",
    "name": "The Bridge",
    "flavor": "The Covenant isn't just a prohibition. It's a promise that we can live together. Diplomatic branch — heal inter-Clade tensions.",
    "level_features": [
      { "level": 3,  "features": ["peacemakers_presence"] },
      { "level": 7,  "features": ["empathic_bond"] },
      { "level": 15, "features": ["sanctuary_aura"] },
      { "level": 20, "features": ["the_covenant_restored"] }
    ],
    "feature_definitions": {
      "peacemakers_presence":  { "name": "Peacemaker's Presence", "kind": "stub", "description": "Action: 30-ft. zone of calm for 10 minutes. Aggressive creatures save or lose hostile intent. (Phase 5: deferred.)" },
      "empathic_bond":         { "name": "Empathic Bond", "kind": "stub", "description": "Touch a willing creature: 1 hour mutual emotional/intent awareness. (Phase 5: deferred.)" },
      "sanctuary_aura":        { "name": "Sanctuary Aura", "kind": "stub", "description": "Aura of the Covenant also breaks compulsion to attack. (Phase 5: deferred.)" },
      "the_covenant_restored": { "name": "The Covenant Restored", "kind": "stub", "description": "Once per long rest: 60-ft. sanctified ground for 24 hours — +2 AC and saves, doubled healing, no willing harm. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "warhorn",
    "class_id": "muzzle_speaker",
    "name": "Warhorn",
    "flavor": "My voice is the tide my allies ride to victory. Battlefield support — vocalization as force multiplier.",
    "level_features": [
      { "level": 3,  "features": ["rally_howl"] },
      { "level": 6,  "features": ["dissonance"] },
      { "level": 11, "features": ["anthem_of_the_pack"] },
      { "level": 14, "features": ["shatter_cry"] }
    ],
    "feature_definitions": {
      "rally_howl":         { "name": "Rally Howl", "kind": "stub", "description": "Action: allies within 60 ft. gain temp HP equal to CHA mod + Vocalization Die roll. (Phase 5: deferred.)" },
      "dissonance":         { "name": "Dissonance", "kind": "stub", "description": "Action: target one creature within 60 ft. — psychic damage = 2× Vocalization Die, disadvantage on next attack. (Phase 5: deferred.)" },
      "anthem_of_the_pack": { "name": "Anthem of the Pack", "kind": "stub", "description": "1-minute concentration: allies within 30 ft. add CHA mod to damage rolls. Once per long rest. (Phase 5: deferred.)" },
      "shatter_cry":        { "name": "Shatter-Cry", "kind": "stub", "description": "Action: 30-ft. cone, 8d6 thunder (CON save half), deafened 1 minute. Once per long rest. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "whisperfur",
    "class_id": "muzzle_speaker",
    "name": "Whisperfur",
    "flavor": "The loudest voice in the room is never the most dangerous. Infiltration and social manipulation through voice.",
    "level_features": [
      { "level": 3,  "features": ["suggestion"] },
      { "level": 6,  "features": ["subsonic_influence"] },
      { "level": 11, "features": ["voice_thief"] },
      { "level": 14, "features": ["mass_suggestion"] }
    ],
    "feature_definitions": {
      "suggestion":         { "name": "Suggestion", "kind": "stub", "description": "1-minute soft speech: implant a suggestion (WIS save, DC = 8 + prof + CHA). 2 uses per long rest. (Phase 5: deferred.)" },
      "subsonic_influence": { "name": "Subsonic Influence", "kind": "stub", "description": "Project subsonic vocalizations affecting mood (calm/unease/trust/suspicion) in 30-ft. radius for 10 minutes. No save. (Phase 5: deferred.)" },
      "voice_thief":        { "name": "Voice Thief", "kind": "stub", "description": "After hearing a creature speak for 5 minutes, perfectly replicate their voice. (Phase 5: deferred.)" },
      "mass_suggestion":    { "name": "Mass Suggestion", "kind": "stub", "description": "Suggestion targets up to 5 creatures and requires only 1 round of speaking. 3 uses per long rest. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "combat_engineer",
    "class_id": "claw_wright",
    "name": "Combat Engineer",
    "flavor": "I don't fight you. I build something that fights you. Builds turrets, traps, exoskeletons.",
    "level_features": [
      { "level": 3,  "features": ["deployable_turret"] },
      { "level": 6,  "features": ["reinforced_armor"] },
      { "level": 10, "features": ["area_denial"] },
      { "level": 14, "features": ["titan_frame"] },
      { "level": 18, "features": ["siege_engine"] }
    ],
    "feature_definitions": {
      "deployable_turret":  { "name": "Deployable Turret", "kind": "stub", "description": "Short rest build: AC 15, HP = level × 5, +INT to hit, 2d6 piercing once per round, 60-ft. range. (Phase 5: deferred.)" },
      "reinforced_armor":   { "name": "Reinforced Armor", "kind": "stub", "description": "Long rest enhance one armor: +1 AC and resistance to one damage type for 24 hours. (Phase 5: deferred.)" },
      "area_denial":        { "name": "Area Denial", "kind": "stub", "description": "Short rest: deploy up to 3 traps (explosive, ensnaring, alarm). (Phase 5: deferred.)" },
      "titan_frame":        { "name": "Titan Frame", "kind": "stub", "description": "Long rest build a wearable exoskeleton: +4 STR, +2 AC, +1 size category. 1 hour. Once per long rest. (Phase 5: deferred.)" },
      "siege_engine":       { "name": "Siege Engine", "kind": "stub", "description": "Turret fires heavy ordnance: 6d10 damage, 20-ft. radius (DEX save half). 1-round reload. (Phase 5: deferred.)" }
    }
  },
  {
    "id": "body_wright",
    "class_id": "claw_wright",
    "name": "Body-Wright",
    "flavor": "The body is a machine. I just make it run better. Field medicine, prosthetics, biological engineering.",
    "level_features": [
      { "level": 3,  "features": ["combat_medic"] },
      { "level": 6,  "features": ["clade_calibration"] },
      { "level": 10, "features": ["prosthetic_expert"] },
      { "level": 14, "features": ["emergency_resurrection_protocol"] },
      { "level": 18, "features": ["biological_masterwork"] }
    ],
    "feature_definitions": {
      "combat_medic":                  { "name": "Combat Medic", "kind": "stub", "description": "Field Repair on living creatures heals 2d8 + INT, usable as bonus action. Stabilize 0-HP creature from 30 ft. with thrown kit. (Phase 5: deferred.)" },
      "clade_calibration":             { "name": "Clade Calibration", "kind": "stub", "description": "1 hour study: all healing/gadget effects on that creature are maximized for 24 hours. (Phase 5: deferred.)" },
      "prosthetic_expert":             { "name": "Prosthetic Expert", "kind": "stub", "description": "Long rest: build functional prosthetic limbs/organs/sensory augments. Can be enhanced. (Phase 5: deferred.)" },
      "emergency_resurrection_protocol":{ "name": "Emergency Resurrection Protocol", "kind": "stub", "description": "Within 1 minute of death: INT check DC 20 to revive at 1 HP with 3 levels of exhaustion. Uses entire gadget pool. (Phase 5: deferred.)" },
      "biological_masterwork":         { "name": "Biological Masterwork", "kind": "stub", "description": "8-hour procedure: permanently modify a willing creature — natural weapon, save advantage, or sensory ability from another clade. One per creature. (Phase 5: deferred.)" }
    }
  }
]
