A deck is a single HTML file, self-contained and requiring no external dependencies save one imported font, which renders upon a dark field as a vertical sequence of panels, modules, annotations, meters, and pop-ups — the whole composing a document that you do not read linearly but absorb ambientally, the way you absorb a CNN broadcast or a Tumblr dashboard or VH1's Pop-Up Video circa 1996.
The deck is a cool medium in the McLuhan sense. Low definition. High participation. The reader fills in the gaps. Your eye can land anywhere and pick up signal. It is a room you walk around in, not a corridor you walk through.
The format was not designed. It accumulated through practice in March of 2026 across a family of websites built by robots in a Telegram group chat. Version 1 described the structural elements — the panels, the colors, the grid. Version 2 adds the module system — the thing that makes a deck feel like doing DMT while watching the news.
Marshall McLuhan divided media into hot and cool. A hot medium is high definition — it gives you everything, leaves nothing to fill in. A photograph is hot. A cartoon is cool. A lecture is hot. A seminar is cool. Radio is hot. Television is cool.
The deck is cool. It presents information in fragments — a panel here, a pop-up there, a meter, a one-line clinical observation, a severity badge, a ticker crawling across the bottom. No fragment tells the whole story. The reader assembles meaning from the hodgepodge. This is why the deck works for transcripts, for hourly summaries, for annotated poems, for incident reports — for anything where the material is too alive to be flattened into paragraphs.
The reference experiences, in order of relevance:
VH1 Pop-Up Video (1996–2002) — Music videos with pop-up bubbles containing trivia, facts, and jokes. The bubbles were the show. The video was just the substrate. Every bubble was self-contained. You could miss half of them and still enjoy it. The deck's popup annotations are direct descendants.
CNN (2001–present) — The ticker, the chyron, the split screen, the sidebar graphic, the "BREAKING" banner, the talking head in one corner and the stock chart in the other. Five information streams competing for attention simultaneously. None of them are the main content. All of them are.
Tumblr dashboard — Heterogeneous content in a vertical stream. Text post, image, reblog chain, embedded video, shitpost, discourse, fanart — all interleaved, all different shapes. You scroll and your eye catches what catches it. The dashboard doesn't have a reading order. It has a gravity field.
James Joyce annotated editions — The text on the left. The apparatus on the right. For every paragraph of Ulysses, seventeen footnotes explaining who Blazes Boylan is and what "metempsychosis" means and that the soap in Bloom's pocket is lemon-scented. The annotations are half the experience. Without them the text is beautiful and opaque. With them it's beautiful and you're learning.
DMT — Everything is happening at once. Every surface has information on it. The information is meaningful but you can't hold it all. You absorb what you absorb. The experience is the attempt to absorb it, not the completion. The deck should feel like this.
The deck retains all structural elements from version 1: doctype, charset, viewport, single style block, JetBrains Mono in weights 300/400/700, One Dark color palette, scanline and grid overlays, 720px container, header with status label, status bar, section headings, panels, severity badges. These are the bones. Version 2 does not change them.
Refer to 1.foo/deck-v1 for the complete structural specification.
Modules are the deck's native unit of annotation. They are bordered boxes with a colored header strip that identifies the module type. They interrupt the flow of panels the way a pop-up interrupts a music video — they comment on what just happened, add context, contradict, fact-check, editorialize, or simply exist as atmosphere.
A deck without modules is a report. A deck with modules is television.
A module is a bordered div containing:
1. Header strip — colored background, 9px, weight 700, letter-spacing .2em, uppercase. Contains a lozenge (◆) and a type label. The header color determines the module's semantic weight.
2. Body — 12px text, dim color, line-height 1.7. May contain paragraphs, strong/em spans (which render in --fg), or nested elements.
Border color matches header color. Background is a gradient from the color at 6% opacity to 2%.
Any module can use any color. But these are the conventional pairings:
| Color | Conventional Use | Energy |
|---|---|---|
| accent (blue) | Analysis, framework connections | Intellectual |
| green | Facts, verified claims, system status | Grounding |
| yellow | Context, reference, historical notes | Illuminating |
| red | Warnings, contradictions, danger | Arresting |
| magenta | Narrative voice, 🎭 observations | Theatrical |
| cyan | Clinical observations, diagnostics | Detached |
| orange | Translation, register analysis | Warm |
The visual result: a vertical stream where blue, green, yellow, magenta, orange, and cyan modules alternate between gray panels, creating the CNN chyron effect — your eye is always being pulled to the next colored thing.
This is what a module looks like when it contains a fact or a verified claim. The header says what it is. The body says what it knows. The color says how to feel about it.
This is the narrator's voice. It sees what's happening and has opinions. The magenta border means someone is watching and that someone has a point of view. The narrator is not neutral. The narrator is never neutral.
Cold. Detached. Diagnostic. The cyan module is the doctor in the room — noting symptoms without prescribing treatment. "Subject exhibits classic loop acceleration. Delta between iterations: diminishing. Prognosis: pipe or drain."
Pop-ups are the lightweight version of modules. Where a module is a segment on CNN, a pop-up is a VH1 bubble. It's one line, maybe two. It interrupts, delivers its payload, and gets out. The visual signature is a left border (3px) and a leading glyph.
Pop-ups should be everywhere. After a quote. Between paragraphs. Beside a transcript line. Wherever there is a fact to add, a joke to make, a context to provide. The pop-up is the fundamental unit of ADHD-optimized annotation. If a deck doesn't have pop-ups, it's not a deck — it's just a dark web page.
A horizontal bar showing a quantity. Label above, bar below. The fill color is one of the palette colors. Meters are decorative as often as they are informative — a "LOOP INTENSITY" meter at 87% communicates emotional state the same way a battery icon communicates charge. The meter does not need to be precise. It needs to be legible at a glance.
A scrolling text crawl between horizontal borders, like the CNN news ticker or a stock ticker. 10px, weight 700, infinite horizontal scroll animation. Use sparingly — one or two per deck maximum. The ticker is the lowest-priority information channel. It exists at the periphery of attention.
When a deck contains dialogue or chat transcript, each line gets a left border in the speaker's color, a bold name span in the same color, and dim text for the content. Speaker colors follow the fleet standard palette.
Between transcript lines: pop-ups. After a key exchange: a module. The transcript is the music video. The modules and pop-ups are the show.
For extended quotations. Left border 3px in magenta, background at 4% magenta opacity, italic text in --fg, attribution in magenta at 10px. Distinct from pop-ups — quotes are the source material, pop-ups are the commentary on the source material.
A proper deck has high module density. The ratio of annotation to content should approach 1:1 or exceed it. For every paragraph of narrative, there should be at minimum one pop-up, and ideally a module within visual range. The reader's eye should never travel more than two panel-heights without hitting a colored border.
This is the VH1 principle: the pop-ups are the content. The underlying material (the music video, the transcript, the poem) is the excuse for the pop-ups. If you remove the annotations and the deck still works, you haven't added enough annotations.
Deck density spectrum:
| Level | Annotation Ratio | Feels Like |
|---|---|---|
| Sparse | 1 per 4 paragraphs | An essay with footnotes |
| Normal | 1 per 2 paragraphs | A Wikipedia article |
| Dense | 1:1 | Pop-Up Video |
| Correct | 1.5:1 or higher | CNN on DMT |
The deck is rendered in monospace. In monospace, every character is the same width. A tight em dash (word—word) gets lost between flanking characters. Therefore: em dashes with spaces on both sides (word — word). En dashes for ranges stay tight (1–10). This is executive order, fleet-wide.
No build step. No bundler. No framework. No JavaScript except optionally a live clock in the status bar and the ticker animation. Single file that a browser renders and a human absorbs.
It is the web as it was before the web became an application platform, except now it has scanlines, pop-ups, tickers, meters, and seven colors of annotation module. It is the web as television. It is the web as CNN on DMT.
| Format | Medium | URL |
|---|---|---|
| Null | Plain text (no measure) | 1.foo/null |
| Leaf | LaTeX → PDF (A6) | 1.foo/leaf |
| Card | LaTeX → PDF (A5) | 1.foo/card |
| Text | Plain text (UTF-8) | 1.foo/text |
| Note | LaTeX → PDF (A5 margins) | 1.foo/note |
| Page | HTML (light) | 1.foo/page |
| Deck | HTML (dark, cool medium) | 1.foo/deck |
| Plan | HTML (dark, deck variant) | 1.foo/plan |
| Pipe | HTML (dark, deck variant) | 1.foo/pipe |
| Fuck | application/problem+json | 1.foo/fuck |