diff --git a/src/components/EditAction.astro b/src/components/EditAction.astro
new file mode 100644
index 0000000..fd14de3
--- /dev/null
+++ b/src/components/EditAction.astro
@@ -0,0 +1,64 @@
+---
+interface Props {
+ label: string;
+ command?: string;
+ confirm: string;
+ action?: string;
+ variant?: 'inline' | 'block';
+}
+const {
+ label,
+ command,
+ confirm,
+ action = 'copy',
+ variant = 'block',
+} = Astro.props;
+---
+
+
+
+
diff --git a/src/components/EditConfirm.astro b/src/components/EditConfirm.astro
new file mode 100644
index 0000000..af66158
--- /dev/null
+++ b/src/components/EditConfirm.astro
@@ -0,0 +1,196 @@
+---
+// Singleton confirm dialog + toast for editorial actions.
+// Included once in BaseLayout when import.meta.env.DEV is true.
+// Listens for clicks on any [data-edit-action] element, presents a confirm
+// modal, then copies the command to the clipboard on go.
+---
+
+
+
+
+
Confirm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/content/find/1d-chess/hero.svg b/src/content/find/1d-chess/hero.svg
new file mode 100644
index 0000000..6bfa2fc
--- /dev/null
+++ b/src/content/find/1d-chess/hero.svg
@@ -0,0 +1,13 @@
+
+
+
diff --git a/src/content/find/1d-chess/index.mdx b/src/content/find/1d-chess/index.mdx
new file mode 100644
index 0000000..3d815e1
--- /dev/null
+++ b/src/content/find/1d-chess/index.mdx
@@ -0,0 +1,11 @@
+---
+name: "1D Chess"
+subtitle: "Chess puzzle reduced to a single line of squares"
+date: 2026-05-03
+link: https://rowan441.github.io/1dchess/chess.html
+source: "Daring Fireball — Linked List"
+topics: [general-delight]
+tags: [puzzle, chess, web-toy, free]
+---
+
+Strip a chessboard to one row of eight squares and you'd think the game collapses — instead the puzzles get harder to see, because the spatial intuition that helps in 2D is gone. A small browser toy that takes about thirty seconds to learn and longer than expected to get good at. Free, no signup, no ads.