diff --git a/public/action-assets/README.md b/public/action-assets/README.md
new file mode 100644
index 0000000..f1d4265
--- /dev/null
+++ b/public/action-assets/README.md
@@ -0,0 +1,28 @@
+Action Mode art assets
+======================
+
+Use the local admin site to replace these files without moving images by hand:
+
+```bash
+npm run assets:admin
+```
+
+Then open `http://127.0.0.1:4175`.
+
+Dungeon icons:
+- `dungeons/bulldrome.svg`
+- `dungeons/yian-kut-ku.svg`
+- `dungeons/cyber-dragon.svg`
+
+Enemy sprites:
+- `enemies/bulldrome.svg`
+- `enemies/bullfango.svg`
+- `enemies/yian-kut-ku.svg`
+- `enemies/bird.svg`
+- `enemies/cyber-dragon.svg`
+
+SVG, PNG, JPG, or WebP files work for dungeon icons in React. Enemy sprites are loaded by Phaser through `src/actionAssets.ts`; if you switch file extensions, update that registry.
+
+Recommended sizes:
+- Dungeon icons: square, 256 x 256 or larger.
+- Enemy sprites: square transparent canvas, centered subject.
diff --git a/public/action-assets/dungeons/bulldrome.svg b/public/action-assets/dungeons/bulldrome.svg
new file mode 100644
index 0000000..85c429f
--- /dev/null
+++ b/public/action-assets/dungeons/bulldrome.svg
@@ -0,0 +1,9 @@
+
diff --git a/public/action-assets/dungeons/cyber-dragon.svg b/public/action-assets/dungeons/cyber-dragon.svg
new file mode 100644
index 0000000..2c99d09
--- /dev/null
+++ b/public/action-assets/dungeons/cyber-dragon.svg
@@ -0,0 +1,14 @@
+
diff --git a/public/action-assets/dungeons/gravewyrm-sanctum.svg b/public/action-assets/dungeons/gravewyrm-sanctum.svg
new file mode 100644
index 0000000..1dcefcb
--- /dev/null
+++ b/public/action-assets/dungeons/gravewyrm-sanctum.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/dungeons/hollow-crypt.svg b/public/action-assets/dungeons/hollow-crypt.svg
new file mode 100644
index 0000000..450b15e
--- /dev/null
+++ b/public/action-assets/dungeons/hollow-crypt.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/dungeons/rathian.svg b/public/action-assets/dungeons/rathian.svg
new file mode 100644
index 0000000..690079c
--- /dev/null
+++ b/public/action-assets/dungeons/rathian.svg
@@ -0,0 +1,9 @@
+
diff --git a/public/action-assets/dungeons/sunken-bastion.svg b/public/action-assets/dungeons/sunken-bastion.svg
new file mode 100644
index 0000000..01397b8
--- /dev/null
+++ b/public/action-assets/dungeons/sunken-bastion.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/dungeons/yian-kut-ku.svg b/public/action-assets/dungeons/yian-kut-ku.svg
new file mode 100644
index 0000000..cce8327
--- /dev/null
+++ b/public/action-assets/dungeons/yian-kut-ku.svg
@@ -0,0 +1,9 @@
+
diff --git a/public/action-assets/enemies/bird.svg b/public/action-assets/enemies/bird.svg
new file mode 100644
index 0000000..67665a2
--- /dev/null
+++ b/public/action-assets/enemies/bird.svg
@@ -0,0 +1,9 @@
+
diff --git a/public/action-assets/enemies/bulldrome.svg b/public/action-assets/enemies/bulldrome.svg
new file mode 100644
index 0000000..b12ba28
--- /dev/null
+++ b/public/action-assets/enemies/bulldrome.svg
@@ -0,0 +1,11 @@
+
diff --git a/public/action-assets/enemies/bullfango.svg b/public/action-assets/enemies/bullfango.svg
new file mode 100644
index 0000000..974d2ff
--- /dev/null
+++ b/public/action-assets/enemies/bullfango.svg
@@ -0,0 +1,10 @@
+
diff --git a/public/action-assets/enemies/claudecraft-mob.svg b/public/action-assets/enemies/claudecraft-mob.svg
new file mode 100644
index 0000000..da51fd2
--- /dev/null
+++ b/public/action-assets/enemies/claudecraft-mob.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/enemies/cyber-dragon.svg b/public/action-assets/enemies/cyber-dragon.svg
new file mode 100644
index 0000000..ce48677
--- /dev/null
+++ b/public/action-assets/enemies/cyber-dragon.svg
@@ -0,0 +1,10 @@
+
diff --git a/public/action-assets/enemies/korzul-the-gravewyrm.svg b/public/action-assets/enemies/korzul-the-gravewyrm.svg
new file mode 100644
index 0000000..e310a8b
--- /dev/null
+++ b/public/action-assets/enemies/korzul-the-gravewyrm.svg
@@ -0,0 +1,5 @@
+
diff --git a/public/action-assets/enemies/morthen-the-gravecaller.svg b/public/action-assets/enemies/morthen-the-gravecaller.svg
new file mode 100644
index 0000000..51e6d2b
--- /dev/null
+++ b/public/action-assets/enemies/morthen-the-gravecaller.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/enemies/vael-the-mistcaller.svg b/public/action-assets/enemies/vael-the-mistcaller.svg
new file mode 100644
index 0000000..49707e9
--- /dev/null
+++ b/public/action-assets/enemies/vael-the-mistcaller.svg
@@ -0,0 +1,6 @@
+
diff --git a/public/action-assets/enemies/yian-kut-ku.svg b/public/action-assets/enemies/yian-kut-ku.svg
new file mode 100644
index 0000000..f71dcba
--- /dev/null
+++ b/public/action-assets/enemies/yian-kut-ku.svg
@@ -0,0 +1,10 @@
+
diff --git a/public/action-assets/models/claudecraft/chars/enemies/necromancer.glb b/public/action-assets/models/claudecraft/chars/enemies/necromancer.glb
new file mode 100644
index 0000000..4f552c7
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/necromancer.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_dagger.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_dagger.glb
new file mode 100644
index 0000000..9b4c41c
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_dagger.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_golem.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_golem.glb
new file mode 100644
index 0000000..8ce1a66
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_golem.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_mage.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_mage.glb
new file mode 100644
index 0000000..88999ff
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_mage.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_minion.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_minion.glb
new file mode 100644
index 0000000..f696971
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_minion.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_rogue.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_rogue.glb
new file mode 100644
index 0000000..7124d8b
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_rogue.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/enemies/skeleton_warrior.glb b/public/action-assets/models/claudecraft/chars/enemies/skeleton_warrior.glb
new file mode 100644
index 0000000..d73cde0
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/enemies/skeleton_warrior.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/players/CombatMech.glb b/public/action-assets/models/claudecraft/chars/players/CombatMech.glb
new file mode 100644
index 0000000..0c90a63
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/players/CombatMech.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/players/barbarian.glb b/public/action-assets/models/claudecraft/chars/players/barbarian.glb
new file mode 100644
index 0000000..4bc151f
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/players/barbarian.glb differ
diff --git a/public/action-assets/models/claudecraft/chars/players/druid.glb b/public/action-assets/models/claudecraft/chars/players/druid.glb
new file mode 100644
index 0000000..28c22cd
Binary files /dev/null and b/public/action-assets/models/claudecraft/chars/players/druid.glb differ