[
  {
    "id": "canidae",
    "name": "Canidae",
    "kind": "predator",
    "ability_mods": { "CON": 1, "WIS": 1 },
    "languages": ["common", "canid"],
    "traits": [
      { "id": "pack_instinct",         "name": "Pack Instinct",         "description": "Reaction: when an ally within 10 ft. is attacked, grant them +2 AC against that attack. Uses equal to proficiency bonus per long rest." },
      { "id": "superior_scent",        "name": "Superior Scent",        "description": "Advantage on Perception checks that rely on smell. Detects emotional states (fear, anger, deception) within 30 ft. — interpretation requires WIS check." },
      { "id": "subsonic_communication","name": "Subsonic Communication","description": "Communicate simple messages (danger, regroup, follow, stop) to other Canidae within 60 ft. silently." }
    ],
    "detriments": [
      { "id": "pack_dependent",        "name": "Pack-Dependent",        "description": "When no allied creature is within 30 ft., disadvantage on WIS saves against fear and charm." },
      { "id": "scent_overload",        "name": "Scent Overload",        "description": "In environments with overwhelming or chemically altered smells, all Perception checks suffer disadvantage." }
    ]
  },
  {
    "id": "felidae",
    "name": "Felidae",
    "kind": "predator",
    "ability_mods": { "DEX": 1, "CHA": 1 },
    "languages": ["common", "felid"],
    "traits": [
      { "id": "retractable_claws",     "name": "Retractable Claws",     "description": "Unarmed claw attacks deal 1d6 + DEX slashing. Claws extend or retract at will, allowing full manual dexterity when sheathed." },
      { "id": "darkvision",            "name": "Darkvision",            "description": "See in dim light within 60 ft. as if bright; in darkness as if dim (greyscale only)." },
      { "id": "feline_grace",          "name": "Feline Grace",          "description": "Half damage from falls of 30 ft. or less (none from 10 ft. or less). Advantage on Acrobatics checks to maintain balance." },
      { "id": "tail_speak",            "name": "Tail-Speak",            "description": "Communicate complex emotional and tactical info silently to any creature that speaks Felid, visible up to 60 ft." }
    ],
    "detriments": [
      { "id": "solitary_instinct",     "name": "Solitary Instinct",     "description": "Cannot benefit from the Help action unless the helper is a Felidae or a bonded creature." },
      { "id": "prides_cost",           "name": "Pride's Cost",          "description": "Failing a check or save by 5 or more in front of witnesses imposes disadvantage on the next CHA check." }
    ]
  },
  {
    "id": "mustelidae",
    "name": "Mustelidae",
    "kind": "predator",
    "ability_mods": { "DEX": 1, "INT": 1 },
    "languages": ["common", "mustelid"],
    "traits": [
      { "id": "metabolic_furnace",     "name": "Metabolic Furnace",     "description": "Advantage on CON saves against cold environments and cold-based damage. (You must consume twice the normal daily ration to fuel this — see Burn Rate.)" },
      { "id": "sinuous_body",          "name": "Sinuous Body",          "description": "Move through spaces sized one category smaller than your actual size without squeezing penalties. Advantage on checks to escape grapples." },
      { "id": "ferocity",              "name": "Ferocity",              "description": "When reduced to half HP or below, gain +2 to melee attack rolls. Mustelidae don't retreat — they get angrier." }
    ],
    "detriments": [
      { "id": "burn_rate",             "name": "Burn Rate",             "description": "You require double standard rations. Without them, gain one level of exhaustion per day of insufficient feeding. Starvation hits Mustelidae twice as fast as any other Clade." },
      { "id": "short_fuse",            "name": "Short Fuse",            "description": "Disadvantage on WIS saves against effects that provoke rage, aggression, or recklessness. The gap between 'annoyed' and 'fighting' is dangerously short." }
    ]
  },
  {
    "id": "ursidae",
    "name": "Ursidae",
    "kind": "predator",
    "ability_mods": { "DEX": -1, "CON": 2 },
    "languages": ["common", "ursid"],
    "traits": [
      { "id": "massive_frame",         "name": "Massive Frame",         "description": "Your size category is Large. Advantage on STR checks and saves. Carrying capacity doubled. Wield Heavy weapons without penalty. Grapple creatures up to two sizes smaller with one paw." },
      { "id": "thick_hide",            "name": "Thick Hide",            "description": "Natural armor. When unarmored, AC = 12 + CON modifier. Stacks with shields." },
      { "id": "hibernation_recovery",  "name": "Hibernation Recovery",  "description": "On a long rest, regain all spent hit dice (instead of half). Sleeping for 24 consecutive hours recovers from one level of exhaustion, one disease, or one poison." }
    ],
    "detriments": [
      { "id": "ponderous",             "name": "Ponderous",             "description": "Base movement speed is 25 ft. Disadvantage on DEX saves against area effects (you can't dodge — you're too big). Initiative rolls are made with -2." },
      { "id": "infrastructure_problem","name": "Infrastructure Problem","description": "Doorways, chairs, vehicles, and beds built for Medium creatures are uncomfortable or unusable. Disadvantage on social checks in spaces not built for your size." }
    ]
  },
  {
    "id": "cervidae",
    "name": "Cervidae",
    "kind": "prey",
    "ability_mods": { "DEX": 1, "WIS": 1 },
    "languages": ["common", "cervid"],
    "traits": [
      { "id": "prey_sense",            "name": "Prey Sense",            "description": "You cannot be surprised. When you roll initiative, you add your WIS modifier a second time. Advantage on WIS (Perception) checks to detect hidden or approaching creatures." },
      { "id": "flight_response",       "name": "Flight Response",       "description": "Reaction: when a hostile creature moves within 5 ft. of you, move up to half your speed without provoking opportunity attacks. Uses equal to proficiency bonus per long rest." },
      { "id": "pivoting_ears",         "name": "Pivoting Ears",         "description": "Your ears rotate independently, providing 360-degree auditory awareness. Advantage on Perception checks that rely on hearing, and you cannot be flanked." }
    ],
    "detriments": [
      { "id": "freeze_response",       "name": "Freeze Response",       "description": "The first time you take damage in combat from a source you didn't detect beforehand, WIS save (DC 13) or be stunned until the end of your next turn." },
      { "id": "predator_aversion",     "name": "Predator Aversion",     "description": "In the presence of Canidae, Felidae, or Mustelidae displaying aggressive body language, disadvantage on CHA checks." }
    ]
  },
  {
    "id": "bovidae",
    "name": "Bovidae",
    "kind": "prey",
    "ability_mods": { "STR": 1, "CON": 1 },
    "languages": ["common", "bovid"],
    "traits": [
      { "id": "horns",                 "name": "Horns",                 "description": "Natural horn attack deals 1d8 + STR bludgeoning or piercing (shape varies by species). Horns are permanent and grow throughout life." },
      { "id": "herd_wall",             "name": "Herd Wall",             "description": "Adjacent to one ally: +1 AC. Adjacent to three or more: +2 AC. Stacks with other adjacency bonuses up to a maximum of +3 from all sources." },
      { "id": "unshakeable",           "name": "Unshakeable",           "description": "Advantage on saves against being frightened, charmed, or compelled to move from your position." }
    ],
    "detriments": [
      { "id": "ponderous_gait",        "name": "Ponderous Gait",        "description": "Base movement speed is 25 ft. Disadvantage on DEX saves against effects that require quick repositioning." },
      { "id": "stubborn",              "name": "Stubborn",              "description": "Disadvantage on WIS saves against effects that exploit refusal to change course (feints, misdirections, lures)." }
    ]
  },
  {
    "id": "leporidae",
    "name": "Leporidae",
    "kind": "prey",
    "ability_mods": { "STR": -1, "DEX": 2 },
    "languages": ["common", "leporid"],
    "traits": [
      { "id": "burst_speed",           "name": "Burst Speed",           "description": "Base movement speed is 40 ft. As a bonus action, you can Dash (potential 80 ft. of movement in a turn). Uses equal to proficiency bonus per long rest." },
      { "id": "tremor_sense",          "name": "Tremor Sense",          "description": "Your powerful hind legs sense vibrations through the ground. Detect moving creatures within 30 ft. even if you cannot see or hear them, as long as both you and the creature are on the same surface." },
      { "id": "lucky_feet",            "name": "Lucky Feet",            "description": "When you roll a 1 on a saving throw, you may reroll and must use the new result. Once per short rest." }
    ],
    "detriments": [
      { "id": "fragile_build",         "name": "Fragile Build",         "description": "Hit point maximum reduced by 2 per level (minimum 1 HP per level). Hits that other species shrug off can be life-threatening." },
      { "id": "panic_cascade",         "name": "Panic Cascade",         "description": "When you fail a WIS save against fear by 5 or more, you must spend your next turn Dashing directly away from the source. Repeat the save at the end of each turn. Allied Leporidae within 15 ft. of you must also make the save." }
    ]
  }
]
