From d6b8c7bda024f6f64300ccc4a9eb6220cdc74b73 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 8 Sep 2026 10:06:21 +0000 Subject: [PATCH] Fix mobile overflow in the shared stylesheet, and rewrite the module copy The shared stack.css fix from InsightStack: `.row span` set white-space: nowrap for the short language tag, and the description spans inherited it, so on a phone they ran off the side instead of wrapping. The nowrap is now scoped to the tag. Seventeen descriptions rewritten to name the task rather than the implementation. "Multicollinearity checks by variance inflation factor" becomes "Check whether two of your predictors are telling you the same thing twice". The estimator sections keep their technical detail, because the trap they describe returns a wrong number rather than an error. Verified in Chromium at 390x844: no horizontal overflow. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01DMYhECx2Dzbqad6KJxWZ7t --- assets/css/stack.css | 12 ++++++--- index.html | 58 +++++++++++++++++++++----------------------- 2 files changed, 37 insertions(+), 33 deletions(-) diff --git a/assets/css/stack.css b/assets/css/stack.css index 4c13b8b..d44bd78 100644 --- a/assets/css/stack.css +++ b/assets/css/stack.css @@ -224,8 +224,14 @@ a { color: inherit; text-decoration: none; } .prose hr { border: none; border-top: 2px solid var(--black); margin: 2rem 0; } /* Descriptions in the compact source list. A visible line beats a hover title, - which no touch device shows and no screen reader announces reliably. */ + which no touch device shows and no screen reader announces reliably. + `.row span` above sets white-space: nowrap for the short language tag. A + description is also a span, so it inherited that and ran off the side of the + phone instead of wrapping. Scope the nowrap to the tag. */ .row { flex-direction: column; align-items: flex-start; gap: .25rem; } -.row .d { font-size: .8rem; opacity: .78; line-height: 1.35; } +.row .d { font-size: .8rem; opacity: .78; line-height: 1.35; + white-space: normal; overflow-wrap: anywhere; } .row .t { display: flex; justify-content: space-between; align-items: baseline; - gap: .6rem; width: 100%; } + gap: .6rem; width: 100%; white-space: normal; } +.row .t b { overflow-wrap: anywhere; } +.row .t span { white-space: nowrap; flex: none; } diff --git a/index.html b/index.html index c368acc..417e30e 100644 --- a/index.html +++ b/index.html @@ -26,9 +26,9 @@

EquityStack

-

Python for development sector data workflows: cleaning, exploration, modelling, - impact evaluation, and design-based estimates from complex surveys. Part of - OpenStacks.

+

The Python you reach for on a development research project: getting messy data into + shape, asking whether a programme worked, and getting the confidence intervals right + when the survey is clustered. Part of OpenStacks.

-

Checked against R's survey package on the same data, agreeing to - twelve significant figures. Three behaviours that look like details and are not: subgroups - are domains rather than subsets, proportions get a logit interval so a small one cannot go - negative, and intervals use t on clusters minus strata and say which distribution produced - them.

+

Checked against R's survey package on the same data, to twelve significant + figures. Three things it gets right that a hand-rolled version usually does not: a subgroup + keeps the clusters it does not appear in, a small percentage never gets a negative lower + bound, and the interval widens correctly when you have few clusters.