diff --git a/web/src/App.vue b/web/src/App.vue index a2c6864..ab802aa 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -188,10 +188,11 @@ onMounted(async () => { } } -/* Snap the dashboard to one screen when the window is tall enough; the graph - grid takes the leftover height. Short windows fall back to normal scroll - so nothing clips. */ -@media (min-width: 761px) and (min-height: 760px) { +/* Snap the dashboard to one screen only when the window is tall enough to fit + the graph grid; the grid takes the leftover height. Below this the panels + would be squeezed until the network graphs collapse, so shorter windows + (e.g. 1080p at 100% with browser chrome) fall back to normal scroll. */ +@media (min-width: 761px) and (min-height: 1000px) { .shell { height: 100dvh; display: flex; diff --git a/web/src/components/PanelGrid.vue b/web/src/components/PanelGrid.vue index 3e2ad17..ae560fc 100644 --- a/web/src/components/PanelGrid.vue +++ b/web/src/components/PanelGrid.vue @@ -33,7 +33,7 @@ function addScenario() { // gate); otherwise the CSS fallback and natural flow apply. const gridElement = ref(null) const ROW_GAP_PX = 16 -const oneScreen = window.matchMedia('(min-width: 761px) and (min-height: 760px)') +const oneScreen = window.matchMedia('(min-width: 761px) and (min-height: 1000px)') let rowObserver: ResizeObserver | null = null function syncRowHeight() { diff --git a/web/src/presets/deepfake-school.ts b/web/src/presets/deepfake-school.ts index 0628e86..95e5931 100644 --- a/web/src/presets/deepfake-school.ts +++ b/web/src/presets/deepfake-school.ts @@ -7,7 +7,7 @@ import type { StudyPreset } from './types' export const deepfakeSchoolPreset: StudyPreset = { headline: 'How a non‑consensual deepfake spreads through a school', narrative: - 'One simulated year group, 120 students. Educate the same 30% of them, ' + + 'One simulated year group, 120 students. Educate the same share (30%) of them, ' + 'but change who: the fake reaches {0} of the school with no program, ' + '{1} educating at random, and {2} educating the best‑connected students.', disclaimerShort: 'Illustrative model, not validated',