diff --git a/content/awq/articles/anatomy-of-a-player-character.mdoc b/content/awq/articles/anatomy-of-a-player-character.mdoc
deleted file mode 100644
index 93b9a1d..0000000
--- a/content/awq/articles/anatomy-of-a-player-character.mdoc
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: Anatomy of a Player Character
-path: awq
-cover:
- showInHeader: false
-meta:
- publicationDate: 2025-10-08T08:43:00.000Z
- status: draft
- isFeatured: false
- tags: []
-seo:
- noIndex: false
----
-Every model shares some common abilities
-
-## Main Characteristics
-Characteristics define the innate abilities of a model, and each characteristic has two skills associated with it
-- **Weapon Skill (WS):** Aptitude in landing and avoiding blows in close combat; governs _Melee_ and _Defence_
-- **Ballistic Skill (BS):** Capability of Hand-Eye-Coordination; governs _Skirmish_ and _Evasion_
-- **Strength (S):** Used for brute force, stamina and might; governs _Brawn_ and _Toil_
-- **Toughness (T):** Resistance to physical Trauma; governs _Consume Alcohol_ and _Endurance_
-- **Initiative(I):** Reflects speed of thought and perception; governs _Perception_ and _Outdoor Survival_
-- **Dexterity (Dex):** Affinity for performing fine and delicate manual tasks; governs _Skullduggery_ and _Tradecraft_
-- **Agility (Ag):** Physical coordination and natural athleticism; governs _Stealth_ and _Athletics_
-- **Intelligence (Int):** Power of thought, analysis, and understanding; governs _Intuition_ and _Education_
-- **Willpower (WP):** General strength if mind; governs _Cool_ and _Animal Handling_
-- **Fellowship (Fel):** Ability to get on with people; governs _Leadership_ and _Charm_
-
-## Secondary Characteristics
-- **Corruption Threshold (CT):[^*]** Ability to withstand _Mutation_
-- **Insanity Threshold (IT):[^*]** Ability to withstand _Insanity_
-- **Wounds (W):** Number of wounds a model can endure before _out of play_
-- **Movement (M):** Indicator of how far a model can move under normal conditionsA
-- **Fate Points (FP):[^*]** Can be used to avoid certain death and dark fates
-- **Luck Points (LP):[^*]** Used for Re-rolls
-- **Attacks (A):** Indicator of the numbers of attacks a character can make in a single round
-- **Magic (Mag):** Denotes the Model's Wizard Level
-
-## Skills
-Used in _Checks_
-- **Melee (WS):** Used to make _Melee Attack_ actions
-- **Defense (WS):** Used to defend against a model's _Melee Attack_ action
-- **Shooting (BS):** Used to make _Ranged Attack_ actions with _Missile_ weapons
-- **Throwing (BS):** Used to make _Ranged Attack_ actions with _Throwing_ weapons
-- **Brawn (S):** Used for immediate feats of strength
-- **Toil (T):** Used for prolonged manual labor
-- **Consume Alcohol (T):** Used for resisting short-term hazards like alcohol and poison
-- **Endurance (T):** Used to endure hardship, withstand deprivation, and survive harsh environments
-- **Perception (I):** Used to notice things
-- **Dodge (I):** Used to evade attacks and immediate hazards, e.g. Traps
-- **Stealth (Ag):** Used for moving quietly and concealing
-- **Athletics (Ag):** Used for running, jumping, climbing, and swimming
-- **Streetwise (Dex):** Used for picking locks or pockets, disarming traps and other feats of Sleight of Hand
-- **Crafting (Dex):** Used when crafting trappings
-- **Intuition (Int):** Used for detecting subterfuge and determining value of objects
-- **Education (Int):** Used for recalling relevant information
-- **Cool (WP):** Used to remain calm under stress, resisting fear, and psychological coercion
-- **Animal Handling (WP):** Used to charm, train, and care for animals
-- **Leadership (Fel):** Used for intimidation, command, and coercing obedience; often resisted by _Discipline_
-- **Charm (Fel):** Used for deceiving, blathering, haggling, gossiping; usually resisted by _Intuition_
-
-## Traits
-Inherent abilities often based on Species, examples include Flier (for flying Monsters), Dark Vision, Mutation, and so on
-
-## Lore[^*]
-Define what a character knows and specialist skills and come in the following categories
-- _Academic:_ Represent various academic fields like Accountancy, Anatomy, History and Law
-- _Cultural:_ Represent the knowledge of social groups and language
-- _Enemy:_ Represent the knowledge of adversaries and how to effectively combat them
-- _Environment:_ Represent the knowledge of surviving in various hazardous environment
-- _Magic Lores:_ Represent the knowledge of the various forms of magic and enables casting spells from them+
-- _Specialist Weapon Groups:_ Represent training with special weapons like Polearms, Two-Handed Swords, Blackpowder Guns
-- _Trade Lores:_ Represent the knowledge and ability to create certain trappings or work in certain fields, example Blacksmith, Weaver, Engineer, Artist
-- _Vehicle Lores:_ Represent knowledge in operating vehicles and mounts
-
-## Talents[^*]
-Represent certain knacks, tricks and innate abilities a character has, examples would be Ambidextrous, Aetheric Attunement, Menacing or Acute Senses
-
-## Maneuvers[^*]
-Represent special combat actions and tactics a character can employ during combat, examples include Formation Fighting, Disarm, and Shield Bash
-
-## Careers[^*]
-Represent building blocks of a character, that provide certain skills, lores, talents, maneuvers, etc.
-
-
-[^*]: Only applicable for _Player Characters_
diff --git a/content/awq/articles/checks.mdoc b/content/awq/articles/checks.mdoc
new file mode 100644
index 0000000..630173f
--- /dev/null
+++ b/content/awq/articles/checks.mdoc
@@ -0,0 +1,88 @@
+---
+title: Checks
+summary: How we roll dice and why
+path: rules/general
+cover:
+ showInHeader: false
+meta:
+ publicationDate: 2025-10-19T22:16:00.000Z
+ status: draft
+ isFeatured: false
+ tags:
+ - crunch
+ - how-and-what
+ author: dave-damage
+seo:
+ noIndex: false
+---
+- Determine the outcome of an action
+- Use a **Obstacle (Ob.)** to determine **Outcome**
+- **AWQ** exclusively uses **D6** for checks
+
+## Outcomes{% Sidenote #outcome-fallbacks marker="§" content="Not all actions ship with the complete set of outcomes, so if a specific outcome is missing, use the following fallbacks: **Boons** become **Failures**, **Complications** become **Successes**, and a missing **Boon** is considered a **Success**" type="crunch" /%}
+
+- **Bane(⊗):** Action fails spectacular
+- **Failure(⊖):** Action simply fails
+- **Complications(⊜):** Action succeeds but with a *Twist*
+- **Success(⊕):** Actions succeeds
+- **Boon(⊛):** Actions succeeds with additional benefits
+
+## Check Modifiers
+
+### Favour & Peril
+
+- **Favour (⥣):** Increase chance of success
+- **Peril (⥥):** Increase chance of failure
+- **Resolution:** Multiple instances cancel each other
+ - `Peril > Favour`: Roll is *perilous*
+ - `Peril = Favour`: Normal roll
+ - `Favour > Peril`: Roll is *favourable*
+
+### Re-Rolls(⧆)
+
+- Re-rolled result is always final result
+- One attempt per check (Exception: *Dark Deals*)
+- **Sources:**
+ - *Luck Points:* Spend 1 **LP**
+ - *Dark Deals:* Suffer 1 **Corruption**
+ - *Pushing:* Suffer 1 **Fatigue** or **Stress**
+
+#### Pushing
+
+- If initial roll was a *Bane* and succeeds after the *pushing*, the outcome becomes a *Complication*
+- Cost of a *Push,* depends on the check's **Characteristic**{% Sidenote #push-cost marker="" content="**Fatigue:** **WS**, **BS**, **S**, **T**, **Ag**
\n**Stress:** **I**, **Dex**, **Int**, **WP**, **Fel**" type="crunch" /%}
+
+## Anatomy
+
+### Reference Value (RV)
+Denotes the **Skill** or **Characteristic** used for calculating the **Obtacle**
+
+### Check Type
+Denotes the roll-type
+- **Basic**
+- **Complex**
+- **Extended**
+
+### Check Mode
+- **Unopposed[⥤]:** RV based on _Self_
+- **Opposed[]** RV based on _Target_
+
+### Difficulty
+Always modifies _RV,_ never _Ob._
+- Very Easy [○]
+- Easy [◔ ]
+- Routine [◑]
+- Challenging [●]
+- Difficult [∶]
+- Hard [∵]
+- Very Hard [∷]
+- Impossible [∺]
+
+### Notation Format
+`[Check Type] [Check Difficulty] [Check Mode]`
+
+**Examples:**
+- `Basic[∶] Cool` (unopposed marker usually omitted)
+- `Extended[∶] Charm Perception`
+
+
diff --git a/content/awq/articles/general.mdoc b/content/awq/articles/general.mdoc
new file mode 100644
index 0000000..418962d
--- /dev/null
+++ b/content/awq/articles/general.mdoc
@@ -0,0 +1,17 @@
+---
+title: General Crunch
+path: rules
+cover:
+ showInHeader: false
+meta:
+ publicationDate: 2025-10-19T22:14:00.000Z
+ status: draft
+ isFeatured: false
+ tags:
+ - how-and-what
+ - crunch
+ author: dave-damage
+seo:
+ noIndex: false
+---
+Rules that apply in EVERY situation, maybe add some test you lazy bastard
diff --git a/content/awq/articles/rules-summary.md b/content/awq/articles/rules-summary.md
new file mode 100644
index 0000000..36485ca
--- /dev/null
+++ b/content/awq/articles/rules-summary.md
@@ -0,0 +1,823 @@
+## Core Concepts
+
+### Roles
+
+**Players**
+Every natural person playing the game.
+
+**Adventurers**
+
+- Players who undergo Expeditions
+- Have access to Momentum [✠]
+- Optional roles: Cartographer, Quartermaster, Archivist, Shotcaller, Marshall, Torchbearer
+
+**Dungeon Master/Mistress (DM)**
+
+- Controls Adversaries and Hazards
+- Has access to Threat [✦]
+
+**Models**
+Any entity on the Game Board controlled by a Player, represented by a miniature.
+
+### Model Types
+
+**Party Models** (controlled by Adventurers)
+
+- Characters: One per Adventurer; access to most Activities; evolve via Advances
+- Followers: Follow a single Character; use Obedience to track loyalty
+- Henchmen: Specialized hired help; use Morale to track loyalty
+
+**Adversaries** (controlled by DM)
+
+- Minion [⁎]: Basic Activities
+- Elite [⁑]: Situational Activities
+- Champion [⁂]: Wide array of Activities; can use Threat directly; can become Nemesis
+- Nemesis [⋇]: Returning adversary; evolves like Characters
+
+**Non-Player Characters (NPCs)**
+
+- Spawned by Events, Hazards, or Scenarios
+- Represent neutral parties or quest objectives
+
+### Resources
+
+**Character Resources**
+
+- Luck Points: Re-roll checks
+- Fate Points: Escape certain death
+
+**Party Resources**
+
+- Momentum [✠]: Used during Encounters; fuels Manoeuvres and tactical options; fluctuates throughout combat
+
+**DM Resources**
+
+- Threat [✦]: Used during Expeditions and Encounters; powers Adversary abilities and escalates Encounters
+
+**Momentum Uses**
+
+- Varies: Perform an Action
+- 1pt: Decrease Check Difficulty by 2
+- 1pt: Automatically perform Change Place Manoeuvre
+- 2pt: Automatically perform Disengage Manoeuvre
+- 2pt: Activate Weapon Quality requiring Critical Hit
+- 2pt: Gain 1 additional Reaction until start of next Model's activation
+- 4pt: Increase Attacks by 1 for next Action
+
+### Time Structure
+
+Nested scales from largest to smallest:
+
+**Season**
+
+- Consumed by Endeavours and Expeditions
+- Represents weeks of activity
+
+**Event**
+
+- Immediately resolved incident
+
+**Endeavour**
+
+- Downtime activity characters undertake
+
+**Expedition**
+
+- Single delve into a Dungeon
+- Contains one or more Encounters
+
+**Encounter**
+
+- Isolated interaction with Adversaries or Hazards
+- Consists of one or more Rounds
+
+**Round**
+
+- Each Model acts once
+- Consists of structured phases
+
+**Activity**
+
+- Single action taken by Model
+- Interaction with location, Hazard, or other Models
+
+### Locations
+
+**Dungeon Structure**
+
+- Dungeon: Confined locality where Expeditions take place; can have multiple Dungeon Levels
+- Dungeon Level: Single floor/area; represented by Game Board; danger increases with depth
+- Board Section: Physical tiles representing rooms and corridors
+
+**Overland Locations**
+
+- Region: Large area containing multiple location types
+- Settlement: Safe haven for trading and Endeavours
+- Wilderness: Dangerous areas connecting Settlements and Dungeons; contains Encounters and Hazards
+
+**Hazards**
+Catch-all term for interactive environmental dangers and obstacles.
+
+**Keywords**
+Used to signify synergies and antipodes; multiple occurrences usually beneficial for cost or outcome.
+
+---
+
+## Checks System
+
+### Overview
+
+- Always use D6
+- Determines outcome of activities
+- Rolled against Obstacle (Ob.)
+- Three check types: Basic, Complex, Extended
+
+### Check Components
+
+**Reference Value**
+Denotes the Skill or Characteristic used for calculating Target Number.
+
+**Check Mode**
+
+- Unopposed [⥤]: Reference Value based on Model's Skill
+- Opposed [⇌]: Reference Value based on Target's skill
+
+**Difficulty**
+Always modifies Reference Value, never Obstacle:
+
+- Very Easy [○]
+- Easy [◔]
+- Routine [◑]
+- Challenging [●]
+- Difficult [∶]
+- Hard [∵]
+- Very Hard [∷]
+- Impossible [∺]
+
+**Notation Format**
+`[Check Type] [Check Difficulty] [Check Mode]`
+
+Examples:
+
+- `Basic[∶] Cool` (unopposed marker usually omitted)
+- `Extended[∷] Charm⇌Perception`
+
+### Check Outcomes
+
+**Bane [⊗]**
+Check fails with dire consequences. If not specified, treat as Failure.
+
+**Failure [⊖]**
+Check simply fails.
+
+**Complication [⊜]**
+Check succeeds but with consequences. If not specified, treat as Success.
+
+**Success [⊕]**
+Check succeeds as intended.
+
+**Boon [⊛]**
+Check succeeds with additional benefits. If not specified, treat as Success.
+
+### Favour & Peril
+
+**Favour [⥣]**
+Increases chances of success.
+
+**Peril [⥥]**
+Reduces chances of success.
+
+**Resolution**
+Multiple instances cancel each other:
+
+- Peril > Favour: Roll is perilous
+- Peril = Favour: Normal roll
+- Favour > Peril: Roll is favourable
+
+### Re-Rolls
+
+**Limitation**
+One attempt per check (except Dark Deal).
+Re-rolled result is always final.
+
+**Sources**
+
+- Luck Points: Spend 1 LP
+- Dark Deal: Suffer 1 Corruption
+- Push: Suffer 1 Stress or Fatigue
+
+### Basic Checks
+
+**Procedure**
+Single D6 roll against Obstacle.
+
+**Outcomes**
+
+- Bane: Roll = 1
+- Failure: Roll < Obstacle
+- Complication: Roll = Obstacle
+- Success: Roll > Obstacle
+- Boon: Roll = 6
+
+**Note**
+For Obstacle ≥6, Boon requires confirmation by rolling success again.
+
+### Complex Checks
+
+**Procedure**
+Roll multiple D6 (number equals Reference Value).
+Each die ≥ Target generates one Mark.
+
+**Evaluation**
+
+- Rolling 1: -1 Mark
+- Rolling 6: Roll again for bonus Mark
+
+**Resolution**
+Compare total Marks to Obstacle for Outcome.
+
+**Obstacle Determination**
+
+- Unopposed: Fixed number (1-10)
+- Opposed: Target's Reference Value
+
+### Extended Checks
+
+**Procedure**
+Use Complex Check rules.
+Multiple rolls allowed until Obstacle reached.
+
+**Time Cost**
+Each roll consumes 1 unit of Time.
+
+**Failure Condition**
+If Marks reach 0 or below, Check ends as Bane.
+
+---
+
+## Abilities
+
+### Main Characteristics
+
+Innate abilities of a Model. Each has 2 associated Skills.
+
+**Weapon Skill (WS)**
+Close combat aptitude. Governs Melee and Defense.
+
+**Ballistic Skill (BS)**
+Hand-eye coordination. Governs Shooting and Throwing.
+
+**Strength (S)**
+Brute force and stamina. Governs Brawn and Toil.
+
+**Toughness (T)**
+Physical resistance. Governs Consume Alcohol and Endurance.
+
+**Initiative (I)**
+Speed of thought and perception. Governs Perception and Dodge.
+
+**Dexterity (Dex)**
+Fine manual tasks. Governs Streetwise and Crafting.
+
+**Agility (Ag)**
+Physical coordination and athleticism. Governs Stealth and Athletics.
+
+**Intelligence (Int)**
+Analytical thinking. Governs Intuition and Education.
+
+**Willpower (WP)**
+Mental strength. Governs Cool and Animal Handling.
+
+**Fellowship (Fel)**
+Social aptitude. Governs Leadership and Charm.
+
+### Secondary Characteristics
+
+**Wounds (W)**
+Number of Wounds before knocked out.
+
+**Movement (M)**
+Movement distance under normal conditions.
+
+**Attacks (A)**
+Number of attacks per round.
+
+**Magic (Mag)**
+Wizard level; determines Magic Pool for spellcasting.
+
+**Corruption Threshold (CT)**
+Ability to resist Corruption.
+
+**Insanity Threshold (IT)**
+Ability to resist Insanity.
+
+**Fate Points (FP)**
+Used to avoid death and dark fates.
+
+**Luck Points (LP)**
+Used for re-rolls.
+
+### Skills
+
+Skills are used in Checks. Each associated with a Main Characteristic.
+
+**Melee (WS)**
+Make Melee Attack actions.
+
+**Defense (WS)**
+Defend against Melee Attack actions.
+
+**Shooting (BS)**
+Make Ranged Attack actions with Missile weapons.
+
+**Throwing (BS)**
+Make Ranged Attack actions with Throwing weapons.
+
+**Brawn (S)**
+Immediate feats of strength.
+
+**Toil (S)**
+Prolonged manual labor.
+
+**Consume Alcohol (T)**
+Resist short-term hazards like alcohol and poison.
+
+**Endurance (T)**
+Endure hardship, withstand deprivation, survive harsh environments.
+
+**Perception (I)**
+Notice things.
+
+**Dodge (I)**
+Evade attacks and immediate hazards like traps.
+
+**Stealth (Ag)**
+Move quietly and conceal.
+
+**Athletics (Ag)**
+Running, jumping, climbing, swimming.
+
+**Streetwise (Dex)**
+Lockpicking, pickpocketing, disarming traps, sleight of hand.
+
+**Crafting (Dex)**
+Create trappings.
+
+**Intuition (Int)**
+Detect subterfuge and determine value of objects.
+
+**Education (Int)**
+Recall relevant information.
+
+**Cool (WP)**
+Remain calm under stress, resist fear and psychological coercion.
+
+**Animal Handling (WP)**
+Charm, train, and care for animals.
+
+**Leadership (Fel)**
+Intimidation, command, coerce obedience. Often resisted by Discipline.
+
+**Charm (Fel)**
+Deceiving, blathering, haggling, gossiping. Usually resisted by Intuition.
+
+### Traits
+
+Inherent abilities based on Species.
+Examples: Flier, Dark Vision, Mutation.
+
+### Lores
+
+Define what a character knows and specialist skills.
+
+**Categories**
+
+- Academic: Various fields like Accountancy, Anatomy, History, Law
+- Cultural: Knowledge of social groups and languages
+- Enemy: Knowledge of adversaries and combat tactics against them
+- Environment: Surviving in hazardous environments
+- Magic Lores: Knowledge of magic forms; enables spell casting
+- Specialist Weapon Groups: Training with special weapons (Polearms, Two-Handed Swords, Blackpowder Guns)
+- Trade Lores: Knowledge to create trappings or work in fields (Blacksmith, Weaver, Engineer, Artist)
+- Vehicle Lores: Operating vehicles and mounts
+
+### Talents
+
+Represent knacks, tricks, and innate abilities.
+Examples: Ambidextrous, Aetheric Attunement, Menacing, Acute Senses.
+
+### Manoeuvres
+
+Special combat actions and tactics.
+Examples: Formation Fighting, Disarm, Shield Bash.
+
+### Careers
+
+Building blocks of a character providing Skills, Lores, Talents, Manoeuvres, etc.
+Only applicable for Player Characters.
+
+---
+
+## Encounters & Combat
+
+### Overview
+
+Encounter is a conflict between Adventurers and Adversaries.
+Triggered by Event or Location.
+
+### Turn Sequence
+
+**1. Encounter Setup (First Round Only)**
+
+_I. Determine Encounter Parameters_
+
+- Encounters may have specific Effects
+- DM spends Threat to modify duration/severity or buy additional Effects
+
+_II. Determine Surprise_
+
+Company Surprised:
+
+- No Momentum in first round
+- Henchmen and Followers receive no Activation
+- Declare all actions before Adversaries
+
+Adversaries Surprised:
+
+- No Adversary Pool in first round
+- Common Adversaries lose Activation
+- Elite and Champion Adversaries use Basic Actions only
+- Declare all actions after Company
+
+_III. Calculate Initial Momentum_
+Starting Momentum equals Company's current Fortune Pool.
+
+_IV. Prepare Adversaries_
+
+- DM selects Adversary Group and Models
+- Spend Threat for Talents, better models, or additional Pool values
+- Prepare Adversary Pool by summing A/C/E values of each Model
+- Position Adversary Models on board
+
+**2. Determine Winds of Magic**
+See Magic Systems section.
+
+**3. Declare Actions**
+
+- Roll D6: Even = Explorers declare first, Odd = DM declares first
+- Alternate declaring actions
+- DM declares Adversary actions in Groups
+
+**4. Determine Initiative**
+Roll 1D6 + Initiative Characteristic - Action modifier
+Resolve in descending order (highest first).
+
+**5. Resolve Actions**
+Each Model receives Activation in Initiative order.
+
+**6. Bookkeeping**
+
+_Update Momentum_
+
+1. Torchbearer modifies Pool:
+ - +1 per Elite Adversary defeated
+ - +2 per Champion Adversary defeated
+ - +5 Nemesis Adversary defeated
+ - +2 if Company outnumbers Adversaries
+ - Varies for Action/Talent effects
+2. Subtract Action costs from Pool
+3. Result is Momentum Pool for next turn
+4. If below 0: All Company Models gain Banes equal to deficit; set Pool to 0
+
+_Refresh Adversary Pool_
+Sum A/C/E values of remaining non-routed Adversaries.
+
+_Apply Global Effects_
+Resolve effects discreetly.
+Reduce Duration trackers by 1.
+Remove effects with Duration 0 after applying.
+
+_Check Morale_
+See Psychology & Leadership rules.
+
+_End Condition_
+Combat ends when no Adversaries remain on Board Section.
+
+### Activation
+
+**Structure**
+Each Model receives one discrete Activation per Round.
+Activation must finish before next begins.
+
+**Exception**
+Interrupts can occur during another Activation.
+
+**Activation Sequence**
+
+_1. Start Phase_
+Apply condition effects.
+
+_2. Action Phase_
+
+- Perform one Major Action OR gain 2 free Minor Actions
+- Perform one free Minor Action (before or after Major Action)
+- Main Characters: Additional Minor Actions cost 1 Fatigue each
+
+_3. End Phase_
+
+- Reduce condition tracker by 1 (remove if zero)
+- Gain Interrupts equal to Attacks Characteristic
+
+### Actions
+
+**Minor Actions [◇]**
+Standard activities like Movement.
+
+**Major Actions [⬡]**
+Complex combat actions like Attacks and Spell Casting.
+
+**Reactions [▽]**
+Reactive activities that break normal turn order.
+
+### Minor Actions
+
+**Assist**
+Aid another Model.
+
+**Interact**
+Open doors, grab items, use hazards/trappings.
+
+**Movement**
+
+- Advance: Move up to Movement (M)
+- Drag: Move adjacent prone Model up to ½M
+- Disengage: Challenging Opposed Athletics vs WS to leave enemy Danger Zone
+- Change Place: Challenging Opposed Athletics vs WS to swap with adjacent engaged ally
+- Reposition: Move to adjacent square within enemy Danger Zone
+
+**Manage Equipment**
+Switch weapon, sling/unsling shield, drink potion, draw from container.
+
+**Recuperate**
+
+- Recover Stress: Challenging Cool check to recover 1 Stress
+- Recover Fatigue: Challenging Endurance check to recover 1 Fatigue
+
+**Mount/Dismount**
+Mount or dismount vehicle/creature.
+
+**Prepare**
+Reduce single check Difficulty by 1.
+
+**Use a Skill**
+Apply relevant skill to situation.
+
+---
+
+## Combat - Attacks
+
+### Melee Attacks
+
+**Overview**
+Made with Melee Weapons against targets in Danger Zone (DZ).
+Usually Opposed Simple Checks.
+
+**Danger Zone**
+Area controlled by weapon's Reach rating:
+
+- Reach M: Ring of fields directly adjacent to Model
+- Reach P: Squares directly front, back, left, right of Model
+- Reach R: Reach M plus additional adjacent ring
+
+**Engaged**
+Models in enemy's Danger Zone.
+Model stops when entering enemy DZ regardless of remaining Movement.
+
+**Movement Restrictions**
+Only Disengage, Change Place, or Reposition allowed in DZ.
+Other Manoeuvres trigger Interrupts.
+
+**Interrupts**
+Actions with Interrupt keyword.
+Performed during another Model's Activation by spending a Reaction.
+Resolved before interrupted action.
+
+**Two-Weapon Fighting**
+
+- Use 1-H Melee Weapon, Shield, or Pistol in off-hand
+- Off-hand actions: Difficulty +2
+- Gain +1 additional Interrupt
+
+### Ranged Attacks
+
+**Overview**
+Made with Ranged Weapons against targets in Line of Sight.
+Usually Unopposed Simple Checks.
+
+**Exceptions to Unopposed**
+Opposed if target has Shield Rating 2+ or is in Point Blank Range.
+
+**Engagement Restriction**
+Cannot attack when Engaged unless weapon has Pistol Quality.
+
+**Line of Sight**
+Draw line from center of attacker's square to any point of target square.
+Line must not cross walls, obstacles, or models.
+
+**Shooting into Melee**
+Each Model target is engaged with: Difficulty +1.
+On miss: Randomly determine hit model.
+
+**Size Modifiers (Attack Difficulty)**
+
+- Tiny: +3
+- Little: +2
+- Small: +1
+- Average: 0
+- Large: -1
+- Enormous: -2
+- Monstrous: -3
+
+**Template Attacks**
+All Models in template affected unless specified otherwise.
+
+---
+
+## Wounds & Healing
+
+### Damage Resolution
+
+**Dealing Damage**
+Opposed Damage vs Toughness check to cause a Wound.
+Armor increases Toughness value.
+
+**Wound Effects**
+When Wound caused, draw Injury card with Severity rating and effects.
+
+- Severity = Obstacle for healing
+- Wounds < 0 = Death
+- Wounds = 0 = Out-of-play
+
+**Out-of-Play**
+
+- Adversaries: Removed from board
+- Characters: Must be dragged or abandoned (dire consequences)
+
+### Soak Mechanic
+
+Certain actions/armor provide Soak.
+Soak cancels Wound before dealt (no Injury drawn).
+Using Soak damages armor.
+
+### Healing
+
+Healing uses Extended Toughness check.
+Usually performed as Endeavour in settlements.
+
+### Additional Conditions
+
+**Injuries**
+Can become permanent.
+
+**Disease/Poison**
+Work similarly to Injuries with Severity rating.
+
+---
+
+## Conditions & Effects
+
+### Duration Types
+
+**Fleeting**
+Ends at character's next End Phase.
+
+**Persistent**
+Has X counters.
+Reduce by 1 each End Phase.
+X = number of tokens/stacks.
+
+**Ongoing**
+Lasts until specific condition met.
+
+### Common Conditions
+
+**Staggered (Fleeting)**
+Cannot perform Manoeuvres.
+If X > 1: Limited actions.
+
+**Hidden (Ongoing)**
+Movement: ½M
+Attacks vs ▷Hidden Model: Attacker treated as [*Blinded*]
+[▷Hidden attacks] ⇒ Remove *Hidden* @End Phase
+
+**Stunned (Fleeting)**
+Miss next Activation.
+
+**Surprised (Fleeting)**
+Miss next Activation.
+
+**Bleeding (Persistent)**
+Start Phase: Automatic S[X] hit.
+
+**Prone (Ongoing)**
+Melee attacks against: Favour.
+Ranged attacks against: Peril.
+Remove: Spend Major Action to stand.
+
+**Engaged (Ongoing)**
+Cannot use Ranged actions.
+Remove: Leave Danger Zone.
+
+**Entangled (Ongoing)**
+Movement -X.
+Remove: Athletics check [X].
+
+**Ablaze (Ongoing)**
+Start Phase: Automatic S[varies] hit.
+
+**Broken (Ongoing)**
+Move away from enemies.
+Cannot use Actions.
+
+**Blinded (Ongoing)**
+All checks: Peril.
+Cannot use Ranged actions.
+
+**Frenzied (Ongoing)**
+Attacks ×2.
+Attack nearest Model.
+Only Melee Strike actions and Advance manoeuvres.
+Immune to Psychology.
+After removal: Fatigue [X].
+
+**Hatred (Ongoing)**
+Against specified target: Favour on Opposed checks.
+Immunity to Fear of target.
+
+**Distressed (Ongoing)**
+Mental checks: Peril.
+
+**Drained (Ongoing)**
+Physical checks: Peril.
+
+**Strained (Ongoing)**
+All checks: Peril.
+Start Phase: Cool check or gain Broken.
+
+**Animosity (Ongoing)**
+Against specified target: Cannot use Teamwork actions.
+Social actions: +1 Difficulty.
+
+**Deafened (Ongoing)**
+Immune to Social actions.
+
+**Weakened (Persistent)**
+Strength -[X].
+
+**Inspired (Persistent)**
+All checks: -[X] Difficulty.
+
+**Demoralized (Persistent)**
+All checks: +[X] Difficulty.
+
+**Cowed (Persistent)**
+Against specified source: Opposed checks +[X] Difficulty.
+
+---
+
+## Magic Systems
+
+### Arcane Magic
+
+**Casting Procedure**
+Extended Check using Magic Pool.
+Magic Pool = number of dice equal to Mag attribute.
+
+**Obstacle**
+Casting Number of spell.
+
+**Miscasts**
+Count total 1s rolled across all attempts = Miscast Number.
+
+**Miscast Severity**
+
+- Miscast Number = Mag: Minor Miscast
+- Miscast Number > Mag: Major Miscast
+- Miscast Number ≥ Mag×2: Catastrophic Miscast
+
+### Divine Magic
+
+Handled as Manoeuvres.
+Specific mechanics vary by deity and prayer.
+
+---
+
+## Keywords & Synergies
+
+Keywords signify synergies and antipodes.
+Multiple occurrences of same keyword usually beneficial for cost or outcome.
+Used throughout Activities, Traits, Equipment, and Effects.
+
+---
+
+_End of Rules Reference Document_
diff --git a/content/awq/articles/rules.mdoc b/content/awq/articles/rules.mdoc
new file mode 100644
index 0000000..0b25ba3
--- /dev/null
+++ b/content/awq/articles/rules.mdoc
@@ -0,0 +1,16 @@
+---
+title: The Crunch
+cover:
+ showInHeader: false
+meta:
+ publicationDate: 2025-10-19T22:12:00.000Z
+ status: draft
+ isFeatured: false
+ tags:
+ - how-and-what
+ - crunch
+ author: dave-damage
+seo:
+ noIndex: false
+---
+General Rules and Game Terms Definitions should come here
diff --git a/content/awq/articles/simple.mdoc b/content/awq/articles/simple.mdoc
new file mode 100644
index 0000000..1b5644a
--- /dev/null
+++ b/content/awq/articles/simple.mdoc
@@ -0,0 +1,258 @@
+---
+title: Simple Checks
+path: rules/general/checks
+cover:
+ showInHeader: false
+meta:
+ publicationDate: 2025-11-06T09:12:00.000Z
+ status: draft
+ isFeatured: false
+ tags:
+ - crunch
+ - how-and-what
+ author: dave-damage
+seo:
+ noIndex: false
+---
+## Anatomy
+
+- Uses a single D6
+- Used when a simple *Yes* or *No* is required
+- Mainly used during **Encounters**
+- **Result** of roll is compared to the *Obstacle:*
+ - `Result === 1 [⚀]` => *Bane*
+ - `Result < Ob.` => *Failure*
+ - `Result = Ob.` => *Complication*
+ - `Result > Ob.` => *Success*
+ - `Result === 6 [⚅]` => *Boon*
+
+## Favour & Peril
+
+- **Favoured:** Add an additional die to the roll and take the higher result
+- **Perilous:** Add an additional die to the roll and take the lower result
+
+## Obstacle
+
+- Always calculate on the basis of a skill or characteristic
+- Depends on the check's *Mode*
+
+**Note**
+For Obstacle > 6, *Boon_ requires confirmation by rolling success again
+
+### Unopposed Checks
+
+*Unopposed checks* use the following table to calculate *Ob.*
+
+{% table %}
+- RV
+- 1
+- 2
+- 3
+- 4
+- 5
+- 6
+- 7
+- 8
+- 9
+- 10
+---
+- **OB.**
+- 6+
+- 5+
+- 4+
+- 3+
+- 2+
+- 2+
+- 2+
+- 2+
+- 2+
+- 2+
+{% /table %}
+
+{% Callout type="option" title="More gradual table" %}
+Groups with a greater appetite for granulation my use the following table:
+
+{% table %}
+- RV
+- -4
+- -3
+- -2
+- -1
+- 0
+- 1
+- 2
+- 3
+- 4
+- 5
+- 6
+- 7
+- 8
+- 9
+- 10
+---
+- Ob.
+- Impossible
+- 9
+- 8
+- 7
+- 6
+- 6
+- 5
+- 4
+- 3
+- 2
+- 2/6
+- 2/5
+- 2/4
+- 2/3
+- 2/2
+{% /table %}
+
+- **Ob. 9+** requires a result of 6, followed by a 6
+- **Ob. 8+** requires a result of 6, followed by a 5 or 6
+- **Ob. 7+** requires a result of 6, followed by a 4,5 or 6
+- **2/x** means that on a *Failure,* the model may re-roll for free and achieve a *Success* (not a *Boon*) using the second Ob.
+
+Note that this option can slow the game significantly down, and the core rules assume that the simpler table is used
+{% /Callout %}
+
+### Opposed Checks
+
+- **Instigator (T)** is the model attempting the action (row)
+- **Target (T)** is the model targeted by the action
+- Determine **TN** by looking for the Instigator's modifed value and the column for the target's value
+
+{% table %}
+- **I/T**
+- **1**
+- **2**
+- **3**
+- **4**
+- **5**
+- **6**
+- **7**
+- **8**
+- **9**
+- **10**
+---
+- **1**
+- 4
+- 4
+- 5
+- 5
+- 6
+- 6
+- 6
+- 6
+- 6
+- 6
+---
+- **2**
+- 3
+- 4
+- 4
+- 4
+- 5
+- 5
+- 6
+- 6
+- 6
+- 6
+---
+- **3**
+- 2
+- 3
+- 4
+- 4
+- 4
+- 4
+- 5
+- 5
+- 6
+- 6
+---
+- **4**
+- 2
+- 3
+- 3
+- 4
+- 4
+- 4
+- 4
+- 4
+- 5
+- 5
+---
+- **5**
+- 2
+- 2
+- 3
+- 3
+- 4
+- 4
+- 4
+- 4
+- 4
+- 4
+---
+- **6**
+- 2
+- 2
+- 3
+- 3
+- 3
+- 4
+- 4
+- 4
+- 4
+- 4
+---
+- **7**
+- 2
+- 2
+- 2
+- 3
+- 3
+- 3
+- 4
+- 4
+- 4
+- 4
+---
+- **8**
+- 2
+- 2
+- 2
+- 3
+- 3
+- 3
+- 3
+- 4
+- 4
+- 4
+---
+- **9**
+- 2
+- 2
+- 2
+- 2
+- 3
+- 3
+- 3
+- 3
+- 4
+- 4
+---
+- **10**
+- 2
+- 2
+- 2
+- 2
+- 3
+- 3
+- 3
+- 3
+- 3
+- 4
+{% /table %}
+
diff --git a/content/awq/articles/styleguide.md b/content/awq/articles/styleguide.md
new file mode 100644
index 0000000..55cc9b6
--- /dev/null
+++ b/content/awq/articles/styleguide.md
@@ -0,0 +1,694 @@
+---
+title: AWQ Style Guide & Notation Reference
+description: Formatting standards, symbols, and notation conventions for Advanced Warhammer Quest documentation
+version: 1.1
+date: 2025-10-18
+purpose: Machine-readable reference for consistent rule documentation
+---
+
+# AWQ Style Guide & Notation Reference
+
+## Text Formatting Standards
+
+### Bold Text
+**Annotation:** `**bold**`
+**Usage:** Major gameplay mechanics and important terms
+**Examples:** Momentum, Character, Expedition, Dungeon, Encounter, Party, Magic Pool, Wounds, Stress, Threat
+
+### Italic Text
+**Annotation:** `*italics*`
+**Usage:** Individual skills, conditions, check types, and game states
+**Examples:** Melee, Poisoned, Basic Check, Out of Action, Engaged, Stunned, Blinded, Hidden
+
+### Code Text
+**Annotation:** `` `code` ``
+**Usage:** Dice notation, calculations, and specific values
+**Examples:** `2d6+3`, `TN 12`, `3W`, `[Movement]`, `D3`, `D6`
+
+### Pipes
+**Annotation:** `|`
+**Usage:** Separates inline information and alternatives
+**Examples:** Roll *Defense* | *Dodge* | Choose one option | Another option
+
+### Double Pipes
+**Annotation:** `||`
+**Usage:** Logical OR - one or the other, not both
+**Examples:** `WP → Career Characteristic || [WP = Career] ⇒ Advance Cost -1`
+
+### Brackets
+**Annotation:** `[optional information]`
+**Usage:** Indicate optional elements and situational information
+**Examples:** Move up to `[Movement]` and make attack | Gain `[X]` Wounds
+
+---
+
+## Visual Symbols Reference
+
+### Dice Results
+
+| Roll Result | Symbol |
+|-------------|--------|
+| 1 | ⚀ |
+| 2 | ⚁ |
+| 3 | ⚂ |
+| 4 | ⚃ |
+| 5 | ⚄ |
+| 6 | ⚅ |
+| Re-roll | ⧆ |
+
+### Check Outcomes
+
+| Outcome | Symbol |
+|--------------|--------|
+| Bane | ⊗ |
+| Failure | ⊖ |
+| Complication | ⊜ |
+| Success | ⊕ |
+| Boon | ⊛ |
+
+### Check Difficulty
+
+| Difficulty | Symbol |
+|--------------|--------|
+| Very Easy | ○ |
+| Easy | ◔ |
+| Routine | ◑ |
+| Challenging | ● |
+| Difficult | ∶ |
+| Hard | ∵ |
+| Very Hard | ∷ |
+| Impossible | ∺ |
+| Favour | ⇑ |
+| Peril | ⇓ |
+
+### Check Modes
+
+| Mode | Symbol |
+|------------|--------|
+| Unopposed | ⥤ |
+| Opposed | ⇌ |
+
+### Enemy Tiers
+
+| Tier | Symbol |
+|----------|--------|
+| Minion | ⁎ |
+| Elite | ⁑ |
+| Champion | ⁂ |
+| Nemesis | ⋇ |
+
+### Skill Ranks
+
+| Rank | Symbol |
+|-----------|--------|
+| Untrained | — |
+| Trained | ⁎ |
+| Expertise | ⁑ |
+| Mastery | ⁂ |
+
+### Action Types
+
+| Action Type | Symbol |
+|--------------|--------|
+| Minor Action | ◇ |
+| Major Action | ⬡ |
+| Reaction | ▽ |
+
+### Resources
+
+| Resource | Symbol |
+|------------|--------|
+| Threat | ✦ |
+| Momentum | ✠ |
+| Fatigue | ✱ |
+| Stress | ❖ |
+| Corruption | 🞼 |
+| Wounds | ❡ |
+
+### Area Effects
+
+| Effect | Symbol |
+|---------------|--------|
+| Radius | ⌀ |
+| Cone | ∢ |
+| Line | ⋮ |
+| Board Section | ▩ |
+
+---
+
+## Notation Conventions
+
+### Conditional Notation
+
+**If/Then Conditions**
+```
+[Condition] ⇒ Effect
+```
+**Usage:** Express conditional relationships where condition must be true for effect to occur.
+
+**Examples:**
+- `[*Engaged*] ⇒ Cannot use Ranged actions`
+- `[Wounds < 0] ⇒ Death`
+- `[Rolling 6] ⇒ Roll again for bonus Mark`
+- `[Two weapons] ⇒ **Attacks**: +1`
+
+**Trigger Events**
+```
+@Event: Effect
+```
+**Usage:** Express effects that occur when specific game events happen.
+
+**Examples:**
+- `@Start Phase: Apply condition effects`
+- `@End Phase: Reduce condition tracker by 1`
+- `@Entering DZ: Model stops movement`
+- `@Successful *Dispel* ⇒ **Magic Pool** +[Rank]`
+- `@Combat start ⇒ 1 ▽ → Free attack`
+- `@After Initiative ⇒ Move [Rank] positions`
+- `@Assisted ally hits ⇒ Free *Melee* vs target`
+- `@Enemy forces movement [Push | Drag | Knock back] ⇒ Free *Melee* vs ◁Enemy (before moving)`
+- `@First NPC meeting ⇒ **Disposition** +1`
+- `@End Round [*Frenzied*] ⇒ *Cool* check: [Success] ⇒ Remove [*Frenzied*]`
+
+**Requirements/Costs**
+```
+Cost → Action/Effect
+```
+**Usage:** Express costs or requirements needed to perform action or gain effect.
+
+**Examples:**
+- `1 **Fatigue** [✱] → Additional Minor Action`
+- `2 **Momentum** [✠] → Automatic Disengage`
+- `Challenging *Cool* check → Recover 1 **Stress**`
+- `1 ▽ → Pet: +1 action`
+- `1 LP → Cancel **Threat**`
+
+### Model Role Notation
+
+**Target (Receiving Action)**
+```
+◁ Model
+```
+**Usage:** Indicates model receiving action, effect, or being targeted.
+
+**Examples:**
+- `Melee Attack vs ◁Enemy`
+- `Damage check vs ◁Target's **Toughness**`
+- `Apply condition to ◁Model`
+- `◁Attacker: ⇓`
+- `◁Listeners: ⇓ on *Intuition*`
+
+**Instigator (Performing Action)**
+```
+▷ Model
+```
+**Usage:** Indicates model performing action or originating effect.
+
+**Examples:**
+- `▷Attacker makes WS check`
+- `▷Character rolls **Initiative**`
+- `▷Caster uses **Magic Pool**`
+- `▷Self: Free *Melee* vs target`
+- `▷Caster: S3 DMG ⇒ **Magic Pool** +1`
+
+**Combined Notation**
+```
+▷Model: Action ⇌ ◁Model
+```
+**Usage:** Express opposed actions clearly showing both parties.
+
+**Examples:**
+- `▷Attacker: *Melee* ⇌ ◁Defender: *Defense*`
+- `▷Character: *Charm* ⇌ ◁Target: *Intuition*`
+- `▷Model: *Athletics* ⇌ ◁Enemy: WS`
+
+### Value Placeholders
+
+**Variable Values**
+```
+[X]
+```
+**Usage:** Indicates value varies by circumstance, specified elsewhere, or scales.
+
+**Examples:**
+- `**Bleeding** [X]: Automatic S[X] hit`
+- `**Entangled**: **Movement** -[X]`
+- `**Inspired**: All checks -[X] **Difficulty**`
+
+**Rank-Based Scaling**
+```
+[Rank]
+```
+**Usage:** References talent rank for scaling effects.
+
+**Examples:**
+- `**Attacks**: +1/[Rank]`
+- `**Miscast Number**: -1/[Rank]`
+- `DMG +[Rank]`
+- `**Disease Severity**: -1/[Rank]`
+
+**Characteristic/Stat Reference**
+```
+[Characteristic Name]
+```
+**Usage:** References model's characteristic or stat value.
+
+**Examples:**
+- `Move up to [Movement]`
+- `Roll [Initiative] for turn order`
+- `**Magic Pool** = [Mag]`
+
+### Range Notation
+
+**Comparison Operators**
+```
+= (equals)
+< (less than)
+> (greater than)
+≤ (less than or equal)
+≥ (greater than or equal)
+± (plus or minus, up or down)
+```
+
+**Examples:**
+- `Roll = 1 ⇒ Bane`
+- `Roll > Obstacle ⇒ Success`
+- `**Miscast Number** ≥ Mag×2 ⇒ Catastrophic Miscast`
+- `[CN ≤ 3] ⇒ Does not count toward **Memory Limit**`
+- `Adjust position: ±[Rank] in order`
+
+---
+
+## Talent/Ability Notation Patterns
+
+### Bracket Types for Different Contexts
+
+**Square Brackets `[X]`:**
+- Conditions: `[*Blinded*]`, `[*Hidden*]`, `[*Frenzied*]`, `[*Engaged*]`
+- Keywords: `[Urban]`, `[Gunpowder]`, `[Touch]`, `[Chaos]`, `[Blessing]`, `[Psychological]`
+- Variable values: `[Rank]`, `[X]`
+- Comparisons: `[CN ≤ 3]`, `[X > 1]`
+- Target types: `[Origin | Faction | Region]`
+- Conditions for effects: `[Off-hand]`, `[Would gain *Stunned*]`, `[Two weapons]`
+
+**Curly Braces `{X}`:**
+- Equipment qualities: `{Brawling}`, `{Undamaging}`, `{Improvised}`, `{Grappling}`
+- Special weapon properties
+
+### Skill/Characteristic References
+
+**With Rank:**
+```
+Skill[Rank Symbol]
+```
+Examples: `*Melee*[⁑]`, `*Charm*[⁎]`, `*Endurance*[⁂]`
+
+**Minimum Value:**
+```
+Characteristic: Value+
+```
+Examples: `**Magic**: 2+`, `**Willpower**: 5+`, `**Initiative**: 4+`
+
+### Per-Rank Scaling
+```
+Effect: +X/[Rank]
+Effect: -X/[Rank]
+```
+Examples:
+- `**Attacks**: +1/[Rank]`
+- `**Movement**: +1/[Rank]`
+- `**Miscast Number**: -1/[Rank]`
+- `**Disease Severity**: -1/[Rank]`
+- `**Reload**: -1/[Rank]`
+
+---
+
+## Common Effect Patterns
+
+### Skill Bonus
+```
+*Skill*: +X ⇑
+```
+Examples:
+- `*Charm*: +1 ⇑`
+- `*Perception*: +1 ⇑`
+
+### Resource Cost to Benefit
+```
+X Resource [Symbol] → Effect
+```
+Examples:
+- `1 ❖ → Cast as ◇`
+- `1 LP → Cancel **Threat**`
+- `2 ✠ → **Critical Hit**`
+- `1 ▽ → Pet: +1 action`
+- `1 🞼 → **Magic Pool** +1`
+
+### Location-Based Effects
+```
+[Location Type] ⇒ Effect
+```
+Examples:
+- `[Urban] ⇒ [*Hidden*] ⇒ **Movement** (no penalty)`
+- `[Subterranean] ⇒ [*Hidden*] ⇒ **Movement** (no penalty)`
+- `[Wilderness] ⇒ [*Hidden*] ⇒ **Movement** (no penalty)`
+- `[Rural] ⇒ [*Hidden*] ⇒ **Movement** (no penalty)`
+
+### Weapon/Item Quality Effects
+```
+[Quality] ⇒ Effect
+```
+Examples:
+- `[Gunpowder] weapons ⇒ -1 **Reload**/[Rank]`
+- `[Touch] spells ⇒ +1 ⇑`
+- `[Brawling | Unarmed | Improvised] ⇒ Remove {Undamaging}`
+- `[Missile] weapons ⇒ -1 **Reload**/[Rank]`
+
+### Action Trigger Effects
+```
+@Action/Event ⇒ Effect
+```
+Examples:
+- `@Successful **Dispel Manoeuvre** ⇒ **Magic Pool** +[Rank]`
+- `@Successful *Disengage* ⇒ Free *Advance*`
+- `@Combat start (before Initiative) ⇒ 1 ▽ → Free attack`
+- `@After Initiative determined ⇒ Move [Rank] positions`
+- `@Assisted ally hits ⇒ Free *Melee* vs target`
+- `@Enemy forces movement [Push | Drag | Knock back] ⇒ Free *Melee* vs ◁Enemy (before moving)`
+- `@First NPC meeting ⇒ **Disposition** +1`
+- `@Successful **Melee** hit ⇒ 1 ✠ → +[Rank] DMG`
+- `@Successful *Defense* ⇒ Recover 1 ❖ | 1 ✱`
+- `@*Prepare* ◇ ⇒ **Stress** -1`
+
+### Conditional State Changes
+```
+[State] ⇒ Modified Effect
+```
+Examples:
+- `[*Broken*] ⇒ +1 **Movement**`
+- `[*Blinded*] ⇒ *Perception*: +1 ⇑`
+- `[*Frenzied*] @End Round ⇒ *Cool* check: [Success] ⇒ Remove [*Frenzied*]`
+- `[Psychological] **Conditions** (▷Self | Adjacent allies)`
+- `[*Hatred*] enemies ⇒ Offensive [Blessing]: +[Rank] DMG`
+
+### Cost Reduction
+```
+Effect cost: Original → New
+Action: Cost (instead of Original Cost)
+```
+Examples:
+- `Stand from [*Prone*]: ⬡ → ◇`
+- `Command pet attack: ⬡ → ◇`
+- `**Attacks** +1 via ✠: Cost 3 (instead of 4)`
+
+### Immunity/Negation
+```
+[Condition/Effect]: Immune
+[Quality/Penalty] ⇒ Negated/Removed/0
+```
+Examples:
+- `[*Broken*]: Immune`
+- `[*Surprised*]: Immune`
+- `[Distance | Size] penalties ⇒ 0`
+- `**Armor** ⇒ No **Movement** penalty`
+- `{Undamaging} ⇒ Removed`
+- `[Dim Light | Darkness] ⇒ No penalty`
+
+### Substitution
+```
+[Condition] ⇒ May substitute *Skill A* for *Skill B*
+```
+Examples:
+- `[Relevant academic knowledge] ⇒ May substitute *Education* for *Int*/*WP* skills`
+- `[Intimidate] ⇒ May substitute with **Strength**`
+
+### Persistent Conditions
+```
+**Condition** (Persistent)
+Stacks: [X]
+```
+Note: Stacks represent both duration and severity. Reduced by 1 each End Phase.
+
+Examples:
+- `**Bleeding** [3]: @Start Phase: S3 hit | @End Phase: -1 Stack`
+- `**Persistent**: -1 Stack (min 1)`
+- `**Entangled** +[Rank] **Severity**`
+- `[Psychological **Persistent**] ⇒ -1 Stack`
+
+### Automatic Success
+```
+Effect: Auto-success
+[Condition] ⇒ Automatic
+```
+Examples:
+- `**Recuperate** (*Stress*) ⇒ Auto-success`
+- `Standard doors/locks ⇒ Auto-success (no check)`
+
+### Multiple Targets/Effects
+```
+Effect (▷Self | Allies | Enemies)
+```
+Examples:
+- `**Conditions** (▷Self | Adjacent allies)`
+- `[Blessing] (▷Self | Allies) ⇒ +1 Round duration`
+- `[*Charm* to lie] ⇒ ◁Listeners: ⇓ on *Intuition*`
+
+### Replacement/Instead Of
+```
+Original → New
+Effect: New (instead of Original)
+[Condition] ⇒ Replace with [New Condition]
+```
+Examples:
+- `[*Stunned*] incoming ⇒ *Endurance* check: [Success] ⇒ [*Staggered*] instead`
+- `Command pet attack: ⬡ → ◇`
+- `Treat **Terror** as **Fear**`
+
+### Free Actions
+```
+Free Action
++X Free Action (per Y)
+Action: 0 cost
+```
+Examples:
+- `Free *Manage Equipment*`
+- `+1 Free *Parry* **Reaction** per **Activation**`
+- `Free *Melee* vs target`
+- `Free attack (before moving)`
+- `@Assisted ally hits ⇒ Free *Melee* vs target`
+
+### Permanent Effects
+```
+Permanent [Condition]
+[Condition] (cannot be removed)
+[Condition] (Permanent) vs [Target]
+```
+Examples:
+- `Permanent [*Hatred*] vs chosen [Origin | Faction | Region]`
+
+### Does Not Count Toward Limits
+```
+[Condition] ⇒ Does not count toward [Limit]
+[Condition] ⇒ Exempt from [Limit]
+```
+Examples:
+- `[CN ≤ 2] ⇒ Does not count toward **Memory Limit**`
+- `[CN ≤ 3] ⇒ Does not count toward **Memory Limit**`
+
+### Duration Extension
+```
+Effect: +X Round/Turn duration
+```
+Examples:
+- `[Blessing] (▷Self | Allies) when fighting [*Hatred*] ⇒ +1 Round duration`
+
+### Enable/Can Use
+```
+Can [Action/Spell Type]
+Enables [Action/Spell Type]
+```
+Examples:
+- `Can cast [Blessing] spells`
+- `Can use *Skirmish*`
+
+### Advance/XP Cost Modification
+```
+Effect ⇒ **Advance Cost** ±X
+Lore Type ⇒ -X **Advance Cost**
+```
+Examples:
+- `**Cultural Lores** ⇒ -1 **Advance Cost**`
+- `[WP = Career] ⇒ **Advance Cost** -1`
+
+### Character Creation Effects
+```
+@Character creation ⇒ Effect
+```
+Examples:
+- `@Character creation ⇒ Roll **Dooming Table**: [Location | Enemy | Circumstance]`
+- `@Death ⇒ Replacement **Advances**: 0/1/4/1/2/3/4 (per match)`
+
+---
+
+## Writing Guidelines
+
+### Capitalization Rules
+
+**Always Capitalize:**
+- Major game terms: Character, Party, Dungeon, Encounter, Expedition, Settlement, Round, Turn, Phase, Activation
+- Model types: Adventurer, Adversary, Minion, Elite, Champion, Nemesis, Caster, Pet, Companion, NPC
+- Resources: Momentum, Threat, Fate Points, Luck Points, Stress, Fatigue, Corruption, Wounds, Magic Pool
+- Game mechanics: Attacks, Movement, Magic, Initiative, Difficulty, Severity, Disposition, Obedience, Morale, Reload, Miscast Number, Casting Number, Marks
+- Locations: Dungeon Level, Board Section, Wilderness, Region, Zone, Danger Zone, DZ
+- Important terms: Instigator, Target, Critical Hit, Memory Limit, Advance Cost, Career Characteristic, Encumbrance, Dooming Table
+- Specific tables/systems: Dooming Table
+
+**Never Capitalize:**
+- General actions: attack, move, roll, cast
+- Conditions (use italics): *engaged*, *prone*, *stunned*, *hidden*, *frenzied*, *bleeding*, *blinded*, *broken*
+- Skills (use italics): *melee*, *perception*, *cool*, *charm*, *athletics*, *defense*, *education*, *intuition*
+- Check types (use italics): *Basic Check*, *Complex Check*, *Extended Check*
+- Manoeuvres (use italics): *Disengage*, *Advance*, *Prepare*, *Assist*, *Dispel*, *Parry*
+
+### Dice Notation
+
+**Standard Format:** `XdY+Z` or `DX`
+- X = number of dice
+- Y = die type (always 6 for AWQ)
+- Z = modifier (optional)
+
+**Examples:**
+- `1d6` (single die)
+- `2d6` (two dice)
+- `1d6+2` (single die plus two)
+- `3d6-1` (three dice minus one)
+- `D3` (single d3)
+- `D6` (single d6)
+
+### Consistency Requirements
+
+1. Use established symbols consistently throughout documentation
+2. Always provide text alternative after symbol on first use in section
+3. Maintain consistent terminology for same concepts
+4. Link to definitions on first mention in document
+5. Use same notation patterns for similar mechanical structures
+6. Bold major game mechanics and resources
+7. Italicize skills, conditions, and manoeuvres
+8. Use code formatting for dice notation and specific values
+
+### Accessibility Standards
+
+1. Symbols enhance but do not replace clear writing
+2. Provide text alternatives when needed for clarity
+3. Use descriptive language alongside notation
+4. Maintain reading flow - notation should clarify, not obscure
+5. Consider screen reader compatibility
+
+---
+
+## Notation Examples in Context
+
+### Simple Action
+```
+◇ *Advance*: ▷Model moves up to [Movement]
+```
+
+### Opposed Check
+```
+⬡ **Melee Attack:** ▷Attacker: *Melee* ⇌ ◁Defender: *Defense*
+[Success] ⇒ Roll Damage vs ◁Defender's **Toughness**
+```
+
+### Conditional Effect
+```
+**Frenzied** (Ongoing):
+- **Attacks** ×2
+- [Nearest enemy in range] ⇒ Must attack that enemy
+- @Removal: Gain ✱[X]
+```
+
+### Extended Process
+```
+**Arcane Casting:**
+1. ▷Caster: Extended Check using **Magic Pool** ([Mag] dice)
+2. @Each roll: Count 1s = **Miscast Number**
+3. [**Miscast Number** ≥ Mag×2] ⇒ Catastrophic Miscast
+4. [Total **Marks** ≥ **Casting Number**] ⇒ Spell succeeds
+```
+
+### Resource Expenditure
+```
+**Momentum Spending:**
+- 1 ✠ → Reduce Check **Difficulty** by 2
+- 2 ✠ → Automatic Disengage
+- 4 ✠ → **Attacks** +1 for next action
+```
+
+### Complex Talent
+```
+**Longbeard:**
+[Psychological] **Conditions** (▷Self | Adjacent allies):
+- **Persistent**: -1 Stack (min 1)
+- **Ongoing**: ⇑ removal
+```
+
+### Reaction Trigger
+```
+**Intercept:**
+@Ally charged (in Zone) ⇒ ▽: ◁Attacker: ⇓ on attack
+```
+
+### Multi-Effect Talent
+```
+**Holy Hatred:**
+vs [*Hatred*] enemies:
+- Offensive [Blessing]: +[Rank] DMG
+- Friendly [Blessing]: +1 Round duration
+```
+
+### Characteristic Bonus
+```
+**Resolute:**
+**Willpower**: +1 Max, Career Characteristic || [Already Career] ⇒ **Advance Cost** -1
+```
+
+### Complex Condition Talent
+```
+**Unyielding:**
+[*Stunned*] incoming ⇒ *Endurance* check: [Success] ⇒ [*Staggered*] instead
+```
+
+### Free Attack Trigger
+```
+**Resolute:**
+@Enemy forces movement [Push | Drag | Knock back] ⇒ Free *Melee* vs ◁Enemy (before moving)
+```
+
+---
+
+## Version History
+
+**v1.1 (2025-10-18)**
+- Added Skill Ranks notation (Trained/Expertise/Mastery)
+- Added Persistent Condition Stacks concept
+- Expanded talent notation patterns significantly
+- Added examples for: free actions, permanent effects, immunity, substitution
+- Added double pipe (||) for logical OR
+- Clarified bold formatting for major game mechanics and resources
+- Added comprehensive trigger event patterns (@)
+- Added examples for cost reduction, duration extension, and limit exemptions
+- Refined model role notation with more examples
+- Added patterns for multiple targets and conditional replacements
+- Added advance/XP cost modification patterns
+- Added character creation effect patterns
+
+**v1.0 (2025-10-14)**
+- Initial style guide creation
+- Added conditional notation (⇒, @, →)
+- Added model role notation (◁, ▷)
+- Established symbol reference tables
+- Defined formatting standards
+
+---
+
+*This style guide is a living document and will be updated as notation conventions evolve.*
\ No newline at end of file
diff --git a/content/awq/articles/styleguide.mdoc b/content/awq/articles/styleguide.mdoc
new file mode 100644
index 0000000..1467ccf
--- /dev/null
+++ b/content/awq/articles/styleguide.mdoc
@@ -0,0 +1,17 @@
+---
+title: The Styleguide
+cover:
+ src: /images/covers/awq/articles/styleguide/cover/src.jpg
+ alt: Black and White Geometric Logo
+ showInHeader: true
+meta:
+ publicationDate: 2025-10-18T21:21:00.000Z
+ status: draft
+ isFeatured: false
+ tags:
+ - how-and-what
+ author: dave-damage
+seo:
+ noIndex: false
+---
+Maybe some day, I will write a proper styleguide but today is not the day
diff --git a/content/taxonomy/tags/crunch.json b/content/taxonomy/tags/crunch.json
new file mode 100644
index 0000000..b0ff0b4
--- /dev/null
+++ b/content/taxonomy/tags/crunch.json
@@ -0,0 +1,7 @@
+{
+ "name": "Crunch",
+ "icon": {
+ "discriminant": "glyph",
+ "value": "§"
+ }
+}
diff --git a/public/images/covers/awq/articles/styleguide/cover/src.jpg b/public/images/covers/awq/articles/styleguide/cover/src.jpg
new file mode 100644
index 0000000..c7296db
Binary files /dev/null and b/public/images/covers/awq/articles/styleguide/cover/src.jpg differ
diff --git a/src/app/(site)/awq/[...slug]/page.tsx b/src/app/(site)/awq/[...slug]/page.tsx
new file mode 100644
index 0000000..2cd1273
--- /dev/null
+++ b/src/app/(site)/awq/[...slug]/page.tsx
@@ -0,0 +1,62 @@
+import { Metadata } from 'next';
+import { notFound } from 'next/navigation';
+
+import Article from '@/components/Article';
+import {
+ collectAWQContent,
+ getAWQContentByPath,
+} from '@/lib/readers/awq/collector';
+import generatePageMetaData from '@/lib/next/generatePageMetaData';
+import { getAuthorBySlug } from '@/lib/readers/taxonomy/authors';
+import { getTagBySlug } from '@/lib/readers/taxonomy/tags';
+
+export async function generateMetaData({
+ params,
+}: {
+ params: Promise<{ slug: string[] }>;
+}): Promise {
+ const { slug } = await params;
+ console.log(slug);
+ const article = await getAWQContentByPath(slug.join('/'));
+
+ if (!article) return { title: 'Not Found' };
+
+ return generatePageMetaData(article);
+}
+
+export async function generateStaticParams() {
+ const allContent = await collectAWQContent();
+
+ return allContent.map((item) => ({
+ slug: item.fullPath.split('/'),
+ }));
+}
+
+export default async function AWQPage({
+ params,
+}: {
+ params: Promise<{ slug: string[] }>;
+}) {
+ const { slug } = await params;
+ const breadcrumbs = ['awq', ...slug];
+ const path = slug.join('/');
+ const article = await getAWQContentByPath(path);
+
+ const author = await getAuthorBySlug(article?.meta.author);
+ const tags = await Promise.all(
+ (article?.meta.tags || []).map((slug: string) => getTagBySlug(slug))
+ );
+
+ if (!article) {
+ notFound();
+ }
+
+ return (
+
+ );
+}
diff --git a/src/components/Content/Callout/index.tsx b/src/components/Content/Callout/index.tsx
index 8196459..258d976 100644
--- a/src/components/Content/Callout/index.tsx
+++ b/src/components/Content/Callout/index.tsx
@@ -3,7 +3,14 @@ import React from 'react';
import styles from './Callout.module.css';
interface CalloutProps {
- type: 'default' | 'example' | 'info' | 'warning' | 'tip' | 'spoiler';
+ type:
+ | 'default'
+ | 'option'
+ | 'example'
+ | 'info'
+ | 'warning'
+ | 'tip'
+ | 'spoiler';
title?: string;
children: React.ReactNode;
}
diff --git a/src/keystatic/components/general/callout.ts b/src/keystatic/components/general/callout.ts
index 01533cf..4af5238 100644
--- a/src/keystatic/components/general/callout.ts
+++ b/src/keystatic/components/general/callout.ts
@@ -15,6 +15,10 @@ const calloutComponent = {
label: 'Default',
value: 'default',
},
+ {
+ label: 'Option',
+ value: 'option',
+ },
{
label: 'Example',
value: 'example',
diff --git a/src/lib/readers/awq/collector.ts b/src/lib/readers/awq/collector.ts
new file mode 100644
index 0000000..48a004b
--- /dev/null
+++ b/src/lib/readers/awq/collector.ts
@@ -0,0 +1,37 @@
+import { cache } from 'react';
+
+import { AWQContent } from '@/lib/types/awq';
+import { getAWQPosts } from '@/lib/readers/awq/posts';
+
+type MappedAWQContent = AWQContent & {
+ slug: string;
+ type: 'post';
+ fullPath: string;
+};
+
+export const collectAWQContent = cache(
+ async (): Promise => {
+ const [posts] = await Promise.all([getAWQPosts()]);
+
+ return [
+ ...posts.map((item) => ({
+ ...item.entry,
+ slug: item.slug,
+ type: 'post' as const,
+ fullPath:
+ item.slug === 'index'
+ ? item.entry.path
+ : item.entry.path
+ ? `${item.entry.path}/${item.slug}`
+ : item.slug,
+ })),
+ ];
+ }
+);
+
+export const getAWQContentByPath = cache(
+ async (path: string): Promise => {
+ const allContent = await collectAWQContent();
+ return allContent.find((item) => item.fullPath === path);
+ }
+);
diff --git a/src/lib/readers/awq/posts.ts b/src/lib/readers/awq/posts.ts
new file mode 100644
index 0000000..39e74fd
--- /dev/null
+++ b/src/lib/readers/awq/posts.ts
@@ -0,0 +1,9 @@
+import { cache, reader } from '@/lib/readers/base';
+
+export const getAWQPosts = cache(async () =>
+ reader.collections['awq_posts'].all()
+);
+
+export const getAWQPostsBySlug = cache(async (slug: string) =>
+ reader.collections['awq_posts'].read(slug)
+);
diff --git a/src/lib/types/awq.ts b/src/lib/types/awq.ts
new file mode 100644
index 0000000..bbaa2d8
--- /dev/null
+++ b/src/lib/types/awq.ts
@@ -0,0 +1,6 @@
+import { Entry } from '@keystatic/core/reader';
+import keystaticConfig from '~/keystatic.config';
+
+export type AWQPost = Entry<(typeof keystaticConfig.collections)['awq_posts']>;
+
+export type AWQContent = AWQPost;
diff --git a/src/styles/globals/content.css b/src/styles/globals/content.css
index 7391488..cf8b837 100644
--- a/src/styles/globals/content.css
+++ b/src/styles/globals/content.css
@@ -19,15 +19,15 @@
& + ul,
& + ol,
& + blockquote {
- margin-block:
- calc(1em * var(--typo-leading-normal) * var(--vspace-tight))
- calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ margin-block: calc(
+ 1em * var(--typo-leading-normal) * var(--vspace-tight)
+ )
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
}
& + h2 {
- margin-block:
- calc(1em * var(--el-h1-line-height) * var(--vspace-snug))
- calc(1em * var(--el-h1-line-height) * var(--vspace-normal));
+ margin-block: calc(1em * var(--el-h1-line-height) * var(--vspace-snug))
+ calc(1em * var(--el-h1-line-height) * var(--vspace-normal));
}
}
@@ -48,15 +48,17 @@
& + ul,
& + ol,
& + blockquote {
- margin-block:
- calc(1em * var(--typo-leading-normal) * var(--vspace-tight))
- calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ margin-block: calc(
+ 1em * var(--typo-leading-normal) * var(--vspace-tight)
+ )
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
}
& + h3 {
- margin-block:
- calc(1em * var(--el-h1-line-height) * var(--vspace-compressed))
- calc(1em * var(--el-h1-line-height) * var(--vspace-snug));
+ margin-block: calc(
+ 1em * var(--el-h1-line-height) * var(--vspace-compressed)
+ )
+ calc(1em * var(--el-h1-line-height) * var(--vspace-snug));
}
}
@@ -78,8 +80,8 @@
& h4 {
margin-block: var(--el-h4-vspace-top) var(--el-h4-vspace-bottom);
padding: var(--spacing-tight) var(--spacing-snug);
- border-top: var(--size-3 ) solid var(--el-h4-color);
- border-bottom: var(--size-3 ) solid var(--el-h4-color);
+ border-top: var(--size-3) solid var(--el-h4-color);
+ border-bottom: var(--size-3) solid var(--el-h4-color);
font-family: var(--el-h4-font-family), serif;
font-size: var(--el-h4-font-size);
@@ -103,17 +105,17 @@
&::before,
&::after {
- content: "";
+ content: '';
padding-right: var(--spacing-tight);
line-height: 1;
}
&::before {
- content: "❭";
+ content: '❭';
}
&::after {
- content: "";
+ content: '';
}
}
@@ -137,9 +139,10 @@
& + ul,
& + ol,
& + blockquote {
- margin-block:
- calc(1em * var(--typo-leading-normal) * var(--vspace-compressed))
- calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
+ margin-block: calc(
+ 1em * var(--typo-leading-normal) * var(--vspace-compressed)
+ )
+ calc(1em * var(--typo-leading-normal) * var(--vspace-snug));
}
}
@@ -156,7 +159,8 @@
& blockquote {
margin-block: var(--el-p-vspace-top) var(--el-p-vspace-bottom);
- padding: var(--spacing-snug) 0 var(--spacing-snug) var(--spacing-comfortable);
+ padding: var(--spacing-snug) 0 var(--spacing-snug)
+ var(--spacing-comfortable);
border-left: var(--size-4) solid var(--color-text-tertiary);
font-family: var(--el-blockquote-font-family), serif;
@@ -188,7 +192,8 @@
& ul,
& ol {
- margin-block: var(--el-list-nested-vspace-top) var(--el-list-nested-vspace-bottom);
+ margin-block: var(--el-list-nested-vspace-top)
+ var(--el-list-nested-vspace-bottom);
}
& li {
@@ -196,7 +201,8 @@
list-style-position: outside;
& li {
- margin-block: var(--el-li-nested-vspace-top) var(--el-li-nested-vspace-bottom);
+ margin-block: var(--el-li-nested-vspace-top)
+ var(--el-li-nested-vspace-bottom);
}
}
}
@@ -257,7 +263,8 @@
padding-left: var(--el-ol-item-padding);
&::marker {
- content: var(--el-ol-prefix-l1) counter(ol-l1, var(--el-ol-style-l1)) var(--el-ol-suffix-l1);
+ content: var(--el-ol-prefix-l1) counter(ol-l1, var(--el-ol-style-l1))
+ var(--el-ol-suffix-l1);
color: var(--el-ol-marker-color-l1);
}
@@ -270,7 +277,8 @@
margin-left: var(--el-ol-item-indent-l2);
&::marker {
- content: var(--el-ol-prefix-l2) counter(ol-l2, var(--el-ol-style-l2)) var(--el-ol-suffix-l2);
+ content: var(--el-ol-prefix-l2)
+ counter(ol-l2, var(--el-ol-style-l2)) var(--el-ol-suffix-l2);
color: var(--el-ol-marker-color-l2);
}
@@ -283,7 +291,8 @@
counter-increment: ol-l3;
&::marker {
- content: var(--el-ol-prefix-l3) counter(ol-l3, var(--el-ol-style-l3)) var(--el-ol-suffix-l3);
+ content: var(--el-ol-prefix-l3)
+ counter(ol-l3, var(--el-ol-style-l3)) var(--el-ol-suffix-l3);
color: var(--el-ol-marker-color-l3);
}
@@ -296,7 +305,9 @@
counter-increment: ol-l4;
&::marker {
- content: var(--el-ol-prefix-l4) counter(ol-l4, var(--el-ol-style-l4)) var(--el-ol-suffix-l4);
+ content: var(--el-ol-prefix-l4)
+ counter(ol-l4, var(--el-ol-style-l4))
+ var(--el-ol-suffix-l4);
color: var(--el-ol-marker-color-l4);
}
}
@@ -357,7 +368,7 @@
}
}
- & hr{
+ & hr {
position: relative;
overflow: visible;
@@ -390,8 +401,8 @@
& i {
padding: 0.1em 0.2em;
font-style: normal;
- color: var(--color-text-inverse);
- background: var(--color-surface-inverse);
+ color: var(--color-text-secondary);
+ background: var(--color-surface-elevated-2);
}
& strong,
@@ -499,11 +510,11 @@
font-style: normal;
&::before {
- content: "»";
+ content: '»';
}
&::after {
- content: "«";
+ content: '«';
}
}
@@ -513,4 +524,4 @@
color: var(--color-text-secondary);
}
}
-}
\ No newline at end of file
+}
diff --git a/src/styles/globals/elements.css b/src/styles/globals/elements.css
index 49babea..1ad5295 100644
--- a/src/styles/globals/elements.css
+++ b/src/styles/globals/elements.css
@@ -17,7 +17,7 @@
--el-h2-font-family: var(--font-header);
--el-h2-font-size: var(--typo-size-5xl);
--el-h2-font-weight: var(--typo-weight-black);
- --el-h2-letter-spacing: -0.0096em;;
+ --el-h2-letter-spacing: -0.0096em;
--el-h2-line-height: 1.1765;
--el-h2-text-transform: uppercase;
--el-h2-vspace-base: calc(1em * var(--el-h2-line-height));
@@ -106,8 +106,8 @@
--el-pre-vspace-bottom: calc(var(--el-pre-vspace-base) * var(--vspace-normal));
/* === CODE VARIABLES === */
- --el-code-color: var(--color-text-inverse);
- --el-code-background: var(--color-surface-inverse);
+ --el-code-color: var(--color-surface-elevated-1);
+ --el-code-background: var(--color-text-primary);
--el-code-font-family: var(--font-mono);
--el-code-font-size: var(--typo-size-sm);
@@ -247,7 +247,7 @@
--hr-height: var(--size-3);
--hr-margin: var(--spacing-relaxed) 0;
--hr-color: var(--color-text-tertiary);
- --hr-symbol-content: "▼";
+ --hr-symbol-content: '▼';
--hr-symbol-size: var(--typo-size-4xl);
--hr-symbol-space: 0 0.25em;
--hr-symbol-line-height: var(--typo-leading-compressed);
@@ -262,8 +262,8 @@
--el-summary-font-weight: var(--typo-weight-black);
--el-summary-text-transform: uppercase;
--el-summary-line-height: var(--typo-leading-normal);
- --el-summary-marker-symbol-closed: "▾";
- --el-summary-marker-symbol-open: "▴";
+ --el-summary-marker-symbol-closed: '▾';
+ --el-summary-marker-symbol-open: '▴';
--el-summary-marker-symbol-transition-open: none;
/* === DETAILS === */
@@ -274,13 +274,10 @@
--el-details-padding: var(--spacing-snug);
--el-details-border: var(--size-1) solid var(--color-text-secondary);
- /* === Header === */;
+ /* === Header === */
--el-header-font-size: var(--typo-size-responsive);
--el-header-line-height: var(--typo-leading-snug);
--el-header-paddingY: var(--spacing-snug);
- --el-header-height: calc(
- (var(--typo-size-responsive) * var(--el-header-line-height)) +
- (var(--el-header-paddingY) * 2)
- );
+ --el-header-height: calc((var(--typo-size-responsive) * var(--el-header-line-height)) + (var(--el-header-paddingY) * 2));
}
-}
\ No newline at end of file
+}