diff --git a/test-analytics-fluid-charts.js b/test-analytics-fluid-charts.js
new file mode 100644
index 00000000..47c5d84c
--- /dev/null
+++ b/test-analytics-fluid-charts.js
@@ -0,0 +1,159 @@
+/**
+ * E2E (#1058): Analytics chart containers — fluid + auto-stacking via
+ * container queries.
+ *
+ * Boots Chromium with a minimal HTML harness that links public/style.css
+ * and renders the .analytics-charts grid at 768/1080/1440 viewports.
+ *
+ * Asserts:
+ * - No horizontal overflow of the chart grid (scrollWidth <= clientWidth).
+ * - Cards STACK (single column) when the .analytics-charts container is
+ * narrower than 800px.
+ * - Cards are SIDE-BY-SIDE (≥2 columns) when the container is at least
+ * 1200px wide.
+ * - The .analytics-charts element opts in to container queries via
+ * `container-type: inline-size`.
+ *
+ * Pure file:// harness — does not require the Go server.
+ *
+ * Usage: node test-analytics-fluid-charts.js
+ */
+'use strict';
+const { chromium } = require('playwright');
+const fs = require('fs');
+const path = require('path');
+const os = require('os');
+
+const CSS_PATH = path.join(__dirname, 'public', 'style.css');
+const cssHref = 'file://' + CSS_PATH;
+
+// Minimal harness: a sized wrapper that defines the available width
+// for the .analytics-charts container, plus a handful of chart cards
+// matching the production markup.
+function harnessHTML(wrapperWidth) {
+ const card = (full) =>
+ `