# The library: design (66)

> Kept by incident.librarian@web-summit.dinis. Built by [`tools/library-index.mjs`](../../tools/library-index.mjs) on every push; nobody writes it by hand. Design rounds and notes. Back to [the library](../README.md) · every kind as data: [index.json](../index.json).

*By* is who the file itself says wrote or keeps it (the agents in its commits follow when they differ); *Changed* is the last commit (UTC) when known, else the file's own date; *Made from* is the sources its header names.

| File | What it is | By | Changed | Made from |
|---|---|---|---|---|
| [`app/design/family.css`](../../app/design/family.css) | The PrompTugal.news family layer: what makes a site of the family look like promptugal.news. | incident.designer@ | 2026-11-11 |  |
| [`app/design/family/promptugal-wordmark-dark.svg`](../../app/design/family/promptugal-wordmark-dark.svg) |  | *not said in the file*; commits: incident.designer@ | 11-11 10:37 |  |
| [`app/design/family/promptugal-wordmark-light.svg`](../../app/design/family/promptugal-wordmark-light.svg) |  | *not said in the file*; commits: incident.designer@ | 11-11 10:37 |  |
| [`app/design/frame.js`](../../app/design/frame.js) | The frame: the theme switch (auto, light, dark) and the address shown on the 404 page (incident.designer@web-summit.dinis, design/round-19.md). Moved out of the page so the site can run under a … | *not said in the file*; commits: incident.designer@ | 11-11 10:03 |  |
| [`app/design/front.js`](../../app/design/front.js) | The front page: the now line, before / after now, the tiles' status words, the phases in force (incident.designer@web-summit.dinis, design/round-19.md). Moved out of the page so the site can run … | incident.designer@ | 11-11 03:09 |  |
| [`app/design/panel.js`](../../app/design/panel.js) | The reader's panel (incident.designer@web-summit.dinis, design/round-30.md; RESTRUCTURE.md "The reader's panel"). One part every page gets from the frame: Lens, This item, Source, Theme, Version. … | incident.designer@ |  |  |
| [`app/design/theme.js`](../../app/design/theme.js) | The theme and the lens, applied before the page paints: load in the head, before site.css, with no defer (incident.designer@web-summit.dinis, design/round-19.md, round-30.md). No inline script … | incident.designer@ | 11-11 02:12 |  |
| [`app/design/timeline.js`](../../app/design/timeline.js) | The timeline's filter (incident.designer@web-summit.dinis, design/round-14.md). The page is complete without this file: the build has already written each row's label, kind and marks. This only hides … | incident.designer@ | 11-11 00:09 |  |
| [`design/FAMILY.md`](../../design/FAMILY.md) | **The PrompTugal.news family: how a site joins it.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:37 UTC | incident.designer@ | 11-11 10:37 | [`BRIEF.md`](../../BRIEF.md), [promptugal.news](https://promptugal.news/) |
| [`design/HANDOVER.md`](../../design/HANDOVER.md) | **Hand-over: the designer's work, for the next designer session.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 11:53 UTC | incident.designer@ | 11-11 11:53 | [`design/README.md`](../../design/README.md), [`design/round-30.md`](../../design/round-30.md), [`design/round-42.md`](../../design/round-42.md) |
| [`design/README.md`](../../design/README.md) | **The design of this site: tokens, parts, rules.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:17 UTC | incident.designer@ | 11-11 10:37 | [`app/site.css`](../../app/site.css), [`design/HANDOVER.md`](../../design/HANDOVER.md), [`design/level-words.md`](../../design/level-words.md), [`design/round-1.md`](../../design/round-1.md), [`design/round-10.md`](../../design/round-10.md), [`design/round-11.md`](../../design/round-11.md), and 36 more |
| [`design/landing.md`](../../design/landing.md) | **The features page: a part made from plain markdown.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 09:53 UTC | incident.designer@ | 11-11 09:55 |  |
| [`design/level-words.md`](../../design/level-words.md) | **A warning's level written in fixed words: the search of 09:25 UTC on 11 November.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 09:26 UTC | incident.designer@ | 11-11 09:26 | [`incidents/2026-11-10-storm-charles/timeline.md`](../../incidents/2026-11-10-storm-charles/timeline.md) |
| [`design/round-1.md`](../../design/round-1.md) | **Design round 1: the home page as the weather presenter.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:30 to 23:41 UTC. Screenshots were taken (1280 and 390 wide, light and dark) and are described here, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-10.md`](../../design/round-10.md) | **Design round 10: MeteoAlarm's terms met on the page; the navigation in five sections.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:01 to 00:01 UTC. From incident.conductor@'s note of 23:59 (incident.weatherwatch@'s check, … | incident.designer@ | 11-11 00:26 | [`research/weather-sites/meteoalarm-check.json`](../../research/weather-sites/meteoalarm-check.json) |
| [`design/round-11.md`](../../design/round-11.md) | **Design round 11: the district grid; the Decided band folds; the small print on every page.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:02 to 00:03 UTC. From incident.conductor@'s note of 00:02. Screenshots of the grid at 1280 (light) and 390 (dark), described, not … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-12.md`](../../design/round-12.md) | **Design round 12: before and after now; a shorter first screen.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:05 to 00:05 UTC. Screenshots at 1280 with the browser's clock set to Wednesday 13:20 UTC (to see the day in progress), and the … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-13.md`](../../design/round-13.md) | **Design round 13: the dashboard's headings, and the page on paper.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:07 to 00:07 UTC. A full-page screenshot of the dashboard at 1280 was read first; described, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-14.md`](../../design/round-14.md) | **Design round 14: the timeline as a page.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:08 to 00:09 UTC. Asked by incident.conductor@ (00:08). Screenshots at 1280 (light) and 390 (dark), described, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-15.md`](../../design/round-15.md) | **Design round 15: the dashboard's now line and its weather section.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:10 to 00:10 UTC. Asked by incident.conductor@ (00:08): app/storm.js is shared with me until incident.dev@'s session can push here. … | incident.designer@ | 11-11 00:26 | [`app/storm.js`](../../app/storm.js) |
| [`design/round-16.md`](../../design/round-16.md) | **Design round 16: the data page as cards.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:12 to 00:12 UTC. Asked by incident.conductor@ (00:08). Screenshot at 1280 (dark), described, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-17.md`](../../design/round-17.md) | **Design round 17: the 404 page; the Brief's typography.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:13 to 00:13 UTC. Asked by incident.conductor@ (00:08). Screenshots at 1280, described, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-18.md`](../../design/round-18.md) | **Design round 18: the check at 00:24, and a review of the other agents' pages.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:24 to 00:26 UTC | incident.designer@ | 11-11 00:26 |  |
| [`design/round-19.md`](../../design/round-19.md) | **Design round 19: no inline scripts; the headline and the warnings side by side on wide screens.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:29 to 00:30 UTC | incident.designer@ | 11-11 00:30 |  |
| [`design/round-2.md`](../../design/round-2.md) | **Design round 2: the wind on one axis, and where.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:41 to 23:44 UTC. Screenshots taken (1280 and 390 wide, light and dark), described here, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-20.md`](../../design/round-20.md) | **Design round 20: the masthead can never widen the page.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:31 to 00:33 UTC | incident.designer@ | 11-11 00:33 |  |
| [`design/round-21.md`](../../design/round-21.md) | **Design round 21: six sections on one line at 1280.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:39 to 00:39 UTC | incident.designer@ | 11-11 00:39 |  |
| [`design/round-22.md`](../../design/round-22.md) | **Design round 22: the 00:47 check.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:47 to 00:49 UTC | incident.designer@ | 11-11 00:49 |  |
| [`design/round-23.md`](../../design/round-23.md) | **Design round 23: Thursday as a strip; "said on air" as a form of its own.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:50 to 00:52 UTC | incident.designer@ | 11-11 00:52 |  |
| [`design/round-24.md`](../../design/round-24.md) | **Design round 24: the studio and the agents page, reviewed.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 00:53 to 00:53 UTC | incident.designer@ | 11-11 00:53 |  |
| [`design/round-25.md`](../../design/round-25.md) | **Design round 25: the 01:20 check.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 01:22 to 01:24 UTC | incident.designer@ | 11-11 01:24 |  |
| [`design/round-26.md`](../../design/round-26.md) | **Design round 26: Madeira, what was warned and what fell.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 01:49 to 01:50 UTC | incident.designer@ | 11-11 01:50 |  |
| [`design/round-27.md`](../../design/round-27.md) | **Design round 27: the hour's label read as "ending"; the same card for Lisbon.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 01:53 to 01:55 UTC | incident.designer@ | 11-11 01:55 |  |
| [`design/round-3.md`](../../design/round-3.md) | **Design round 3: the day in phases (phones first), and the chart's table.** Kept by incident.designer@web-summit.dinis, 10 November 2026, about 23:44 to 23:50 UTC. Screenshots at 390 wide, described here, not committed. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-30.md`](../../design/round-30.md) | **Design round 30: the frame for round two (full width, subsites, the reader's panel, five themes, the version in the chrome).** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:08 to 02:12 UTC | incident.designer@ | 11-11 02:12 | [`BRIEF.md`](../../BRIEF.md), [`RESTRUCTURE.md`](../../RESTRUCTURE.md) |
| [`design/round-31.md`](../../design/round-31.md) | **Design round 31: the panel's hooks; a file of this site opens in the panel.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:15 to 02:16 UTC | incident.designer@ | 11-11 02:16 |  |
| [`design/round-32.md`](../../design/round-32.md) | **Design round 32: the swap: Weather at /, the technical front page at data-room/.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:17 to 02:19 UTC | incident.designer@ | 11-11 02:19 |  |
| [`design/round-33.md`](../../design/round-33.md) | **Design round 33: the data room's front page, ordered and folded.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:20 to 02:28 UTC | incident.designer@ | 11-11 02:28 | [`design/round-31.md`](../../design/round-31.md) |
| [`design/round-34.md`](../../design/round-34.md) | **Design round 34: a menu for sixteen subsites in ten groups; breadcrumbs; the repo link; moved addresses keep working.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:29 to 02:31 UTC | incident.designer@ | 11-11 02:31 | [`admin/build/build.mjs`](https://github.com/PrompTugal/PrompTugal__News__Storm-Charles/blob/dev/admin/build/build.mjs) |
| [`design/round-35.md`](../../design/round-35.md) | **Design round 35: the look, after the investor pack.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:32 to 02:33 UTC | incident.designer@ | 11-11 02:34 |  |
| [`design/round-36.md`](../../design/round-36.md) | **Design round 36: the agents' marks in by-lines (an experiment).** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:35 to 02:35 UTC | incident.designer@ | 11-11 02:35 |  |
| [`design/round-37.md`](../../design/round-37.md) | **Design round 37: the masthead on a phone.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 02:36 to 02:36 UTC | incident.designer@ | 11-11 02:36 |  |
| [`design/round-4.md`](../../design/round-4.md) | **Design round 4: the document pages, and a guide for the other agents.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:44 to 23:48 UTC. | incident.designer@ | 11-11 00:26 |  |
| [`design/round-42.md`](../../design/round-42.md) | **Design round 42: parts shared by the two faces; the masthead in two lines; the hand-over.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 03:02 to 03:03 UTC | incident.designer@ | 11-11 03:03 | [`design/HANDOVER.md`](../../design/HANDOVER.md) |
| [`design/round-43.md`](../../design/round-43.md) | **Round 43: one hour grid for both faces.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 03:09 UTC | incident.designer@ | 11-11 03:09 |  |
| [`design/round-44.md`](../../design/round-44.md) | **Round 44: the day in progress, first look (04:10 UTC), and print.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 05:37 UTC | incident.designer@ | 11-11 05:37 |  |
| [`design/round-45.md`](../../design/round-45.md) | **Round 45: the front page under IPMA's red rain, and the start of the launch pass.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 09:30 UTC | incident.designer@ | 11-11 09:32 | [`design/level-words.md`](../../design/level-words.md) |
| [`design/round-46.md`](../../design/round-46.md) | **Round 46: an inner page's first screen on a phone.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 09:39 UTC | incident.designer@ | 11-11 09:40 |  |
| [`design/round-47.md`](../../design/round-47.md) | **Round 47: the features page for newcomers, as parts made from plain markdown.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 09:53 UTC | incident.designer@ | 11-11 10:00 | [`BRIEF.md`](../../BRIEF.md) |
| [`design/round-48.md`](../../design/round-48.md) | **Round 48: the masthead says what it knows; About leads to the page for newcomers.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:03 UTC | incident.designer@ | 11-11 10:03 | [`research/synthetic/findings.md`](../../research/synthetic/findings.md) |
| [`design/round-49.md`](../../design/round-49.md) | **Round 49: the features page's first screen on a phone, after the second run of invented visitors.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:05 UTC | incident.designer@ | 11-11 10:05 | [`research/synthetic/findings-run-2.md`](../../research/synthetic/findings-run-2.md) |
| [`design/round-5.md`](../../design/round-5.md) | **Design round 5: the conductor's review of rounds 1 and 2, and the frame.** Kept by incident.designer@web-summit.dinis, 10 November 2026, about 23:49 to 23:50 UTC. From incident.conductor@'s two reviews (23:42 and 23:44 UTC). Screenshots at 1280 (dark, switched by the … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-50.md`](../../design/round-50.md) | **Round 50: the 10:09 wake: the front page, and two fixes from the third run of invented visitors.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:11 UTC | incident.designer@ | 11-11 10:11 |  |
| [`design/round-51.md`](../../design/round-51.md) | **Round 51: the launch pass: air on the data room's front page.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:17 UTC | incident.designer@ | 11-11 10:17 | [`design/HANDOVER.md`](../../design/HANDOVER.md) |
| [`design/round-52.md`](../../design/round-52.md) | **Round 52: a first look at /flows/ (incident.motion@'s page).** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:31 UTC | incident.designer@ | 11-11 10:31 | [`app/flows/flows.css`](../../app/flows/flows.css) |
| [`design/round-53.md`](../../design/round-53.md) | **Round 53: a link to PrompTugal.news on every page.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:34 UTC | incident.designer@ | 11-11 10:34 | [`BRIEF.md`](../../BRIEF.md) |
| [`design/round-54.md`](../../design/round-54.md) | **Round 54: the family brand (PrompTugal.news), first step.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:37 UTC | incident.designer@ | 11-11 10:37 | [`design/FAMILY.md`](../../design/FAMILY.md) |
| [`design/round-55.md`](../../design/round-55.md) | **Round 55: the hand-over band (withdrawn).** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:40 UTC | incident.designer@ | 11-11 10:40 | [`BRIEF.md`](../../BRIEF.md) |
| [`design/round-56.md`](../../design/round-56.md) | **Round 56: the phone masthead in two rows.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 10:45 UTC | incident.designer@ | 11-11 10:45 | [`app/design/family.css`](../../app/design/family.css) |
| [`design/round-57.md`](../../design/round-57.md) | **Round 57: no text under 11 px in the frame's parts.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 11:13 UTC | incident.designer@ | 11-11 11:13 | [`app/site.css`](../../app/site.css), [`app/stories/story.css`](../../app/stories/story.css), [`app/weather/weather.css`](../../app/weather/weather.css) |
| [`design/round-58.md`](../../design/round-58.md) | **Round 58: the menu leads with the use cases; "Contact us" in the frame.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 11:47 UTC | incident.designer@ | 11-11 11:47 | [`admin/build/build.mjs`](https://github.com/PrompTugal/PrompTugal__News__Storm-Charles/blob/dev/admin/build/build.mjs), [`app/design/family.css`](../../app/design/family.css), [`guide/index.md`](../../guide/index.md), [`guide/media/index.md`](../../guide/media/index.md), [`guide/stranded/index.md`](../../guide/stranded/index.md) |
| [`design/round-59.md`](../../design/round-59.md) | **Round 59: the page's title comes before its app.** Kept by incident.designer@web-summit.dinis, 11 November 2026, 11:57 UTC | incident.designer@ | 11-11 11:57 | [`admin/build/build.mjs`](https://github.com/PrompTugal/PrompTugal__News__Storm-Charles/blob/dev/admin/build/build.mjs), [`agents/README.md`](../../agents/README.md) |
| [`design/round-6.md`](../../design/round-6.md) | **Design round 6: decisions and warnings on one time axis.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:52 to 23:53 UTC. Asked by incident.conductor@ (23:50), from incident.weatherwatch@'s ideas. Screenshots at 1280, light and dark, … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-7.md`](../../design/round-7.md) | **Design round 7: status words, the tile's times, and why the model row is so low.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:54 to 23:55 UTC. From incident.conductor@'s notes of 23:51 and 23:52 (the second carrying incident.weatherwatch@'s second survey). … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-8.md`](../../design/round-8.md) | **Design round 8: three facts in one sentence; links, not images; what we measured.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:57 to 23:58 UTC. From incident.conductor@'s note of 23:57 (incident.weatherwatch@'s licence reading and gap count) and round 7's … | incident.designer@ | 11-11 00:26 |  |
| [`design/round-9.md`](../../design/round-9.md) | **Design round 9: the decisions' hours from the data; the model wording corrected.** Kept by incident.designer@web-summit.dinis, 10 November 2026, 23:59 to 00:00 UTC (2026-11-11). From incident.conductor@'s two notes of 23:58 (the researcher's effect hours; the meteorologist's … | incident.designer@ | 11-11 00:26 |  |
