# Design Language for gabs.games

## Aesthetics and Tone

gabs.games is **a frostbitten goblin's curio cabinet, dragged sideways across the screen by a tongue that won't stop talking** — a horizontal scroll-walk through a forest-floor *Wunderkammer* where each game in the catalogue is a moss-grown specimen jar, each jar fogged with translucent breath, and the breath itself is animated typography that scuttles, bites, hisses, and giggles in the margins. The domain reads as the workbench of *gabs*, an unidentified small forest creature who runs an unlicensed indie-game distillery out of a rotted-out pinecone and refuses to be polite about it.

The mood is **goblincore stripped of its tumblr-sticker softness and pushed sideways into the cold** — frost on the bramble, ice on the toad's back, the smell of wet leaves and a soldering iron, the colour temperature of dusk in a damp wood. It is **edgy-rebellious** in the specific sense that a creature who lives in a hollow stump is rebellious: it does not believe in user-onboarding flows, it does not believe in corporate gradient buttons, it does not believe that a game store should look like a game store. Buttons here are foraged. Tooltips here are toad-spittle. The whole catalogue scrolls horizontally because gabs cannot be told what to do, and certainly not told to scroll downward like a polite tax form.

The narrative voice across the site is **first-person goblin** — short, declarative, slightly mean, occasionally tender about a particular fern. Copy is hand-typed-feeling but rendered in kinetic variable type that **glitches very slightly when read**, as though the text itself is uncomfortable being looked at. The word *gabs* (gossip, idle chatter, swapped trinkets) and *games* (small bounded worlds traded between hands) collapse into the same gesture: this is a horizontal table of small things gabs has dragged out of the bog and is now hissing about.

Inspiration sits at a specific four-way intersection: **the *Codex Seraphinianus* opened to a page about beetles**, **a handmade itch.io devlog from 2017 written in broken English by a Finnish teenager**, **the frost-on-glass effect of a Hokkaido windowpane in February**, and **the moment in *Studio Ghibli's Princess Mononoke* where the kodama turn their heads in unison**. The result is hostile, charming, cold, and very much alive.

## Layout Motifs and Structure

The structural commitment is **horizontal-scroll** (8% in the registry — actively claimed and pushed harder than any other site in the corpus). The page is a single 6800px-wide *forest-floor strip* that the user drags sideways with mousewheel-to-horizontal mapping, trackpad-natural on macOS, and a chunky drag-handle on touch. **There is no vertical scroll anywhere on the site.** Vertical overflow is forbidden by design contract; if a section grows tall, it grows wider instead.

The strip is divided into **eleven uneven panels** of varying widths (some 480px, some 1280px, one a deliberately oversized 2200px panel that holds the catalogue itself). Panels are not separated by gutters or dividers — they bleed into each other through **frost-edged seams**, irregular icicle-fringes drawn in SVG that hang from the top of the viewport into the panel below. The seams are the only visual indication of section boundaries; there are no headers, no breadcrumbs, no navigation rail, no logo lockup repeating across panels.

The eleven panels in horizontal order:

1. **The Stump** (640px) — wordmark panel. The word `gabs.games` set in massive kinetic type, breathing, with a single goblin eye blinking in the negative space of the lowercase `g`.
2. **The Inventory Spill** (1280px) — twelve game thumbnails arranged on a slanted picnic-blanket grid that tilts 6deg counter-clockwise. Each thumbnail is a translucent frost-cube with a tiny screenshot frozen inside.
3. **Today's Gabbings** (480px) — a vertical column of very short paragraphs (2-3 lines each) where gabs reviews recent indie releases in goblin-voice. Type set in italic kinetic-animated serif that wobbles when hovered.
4. **The Bog Shelf** (960px) — featured deep-cuts. Five small standees with botanical illustrations drawn over the box art, presented as if they were specimens pinned to a velvet board.
5. **Frost-Window Reading Room** (1100px) — long-form essays about game design by gabs and contributors. Each essay is a fogged glass pane; the user *breathes on it* (cursor proximity) to clear a small reading window.
6. **The Trade Pit** (720px) — a swap forum where players list the games they want to gift and the games they want in return, shown as a tangled string-and-pin chart. Lines redraw on every page-load.
7. **Catalogue Proper** (2200px — the giant panel) — the full game catalogue, organized as a *botanical taxonomy* rather than a genre filter. Branches of the taxonomy drawn as living vines.
8. **Maker's Workshop** (480px) — for indie developers wanting to list their game, written as a hand-scrawled `Wanted` sign nailed to a tree.
9. **The Gripe Box** (640px) — a public, throttled chat where users post complaints about games they hate. Throttled to one post per hour per IP. Goblin-moderated.
10. **Frost on the Glass** (560px) — credits, attributions, colophon, set in tiny kinetic mono type that frost-fades in as it enters the viewport.
11. **The Closing Burrow** (300px) — a small dark hole at the right edge of the strip. The end. No call to action. No newsletter sign-up. Just a hole.

The grid within each panel is intentionally **broken-horizontal**: instead of a column grid, each panel uses a *root-system grid* — a single irregular line of attachment points generated by an SVG vine that snakes through the panel from left edge to right edge, with elements pinned to its irregularly-spaced nodes. The vine is regenerated server-side per visit using a deterministic hash of the visitor's day-of-year, so the layout *literally reorganizes* once per day.

This is **not** a CTA-heavy layout. There are no pricing tables, no stat grids, no testimonial sliders, no `Get Started` buttons. The catalogue panel is the only commercial surface and it is dressed as a herbarium.

## Typography and Palette

**Typefaces — Google Fonts only, all confirmed available:**

- **`Bagel Fat One`** (display, single weight) — the wordmark and giant section labels. Bagel Fat One is a chunky, lobed display face that reads as a swollen, frost-rimed mushroom letter. Used at clamp(96px, 12vw, 280px) for the wordmark on Panel 1, and at 64–96px for the four large section labels (`inventory`, `catalogue`, `gripe`, `burrow`). Letter-spacing is set to a deliberately tight `-0.04em` so the letters touch and overlap at scale, like fungi clustered on a log.

- **`Recursive`** (variable, full axis: weight 300–1000, slant 0–-15, casual 0–1, mono 0–1) — the load-bearing **kinetic-animated** voice (typography category at 3% in the registry — actively claimed). Recursive is the only typeface on the site that animates: every paragraph of body copy uses a CSS `@keyframes` cycle on `font-variation-settings` with a 14-second period that drifts the slant axis between -2 and -6, the casual axis between 0.2 and 0.6, and the weight axis between 380 and 460. The drift is deliberately slow enough that the reader never *catches* the animation but *feels* the text breathing. On hover, individual paragraphs glitch their `font-variation-settings` to a randomized end-state for 380ms before settling back.

- **`Henny Penny`** (display, single weight) — the gabs voice. A spindly, scrawled, cursive-leaning display face used exclusively for first-person goblin commentary, item names, and the hand-scrawled `Wanted` sign in Panel 8. Set at 28–44px. Letter-spacing 0. Line-height 1.1.

- **`JetBrains Mono`** (variable, weights 400–700) — used only for technical metadata: version numbers, file sizes, hash strings, the colophon. Set at 11–13px. The site is otherwise mono-averse despite mono being 95% of the corpus; we use it strictly as a *foreign object* embedded in the goblin's collection.

**Type scale:** 11, 13, 16 (body default), 22, 28, 36, 56, 96, 240. The middle of the scale (44, 48, 64, 72) is *empty by design* — there are no medium-large headings, only body and giant. This produces a vertical (read: rotated 90deg into horizontal) typographic shock wherever a giant label sits beside body copy.

**Palette — translucent-frost (3% in the registry, actively claimed) shifted into goblincore green-grey:**

- `#0E1311` — **Bog Bottom.** Background. A near-black with a green undertone (HSL 156, 16%, 6%). The colour of wet peat at midnight. All eleven panels share this background.
- `#E8EEEA` — **Frost.** Primary foreground / body type. A near-white with a faint cool-green tint (HSL 140, 12%, 92%). The colour of breath on a window in a cold forest.
- `#A8C4B6` — **Lichen Frost.** Secondary foreground, used for kinetic body type when at rest. (HSL 150, 22%, 71%).
- `#5C7A6A` — **Old Moss.** Tertiary foreground, used for metadata and de-emphasized text. (HSL 144, 13%, 42%).
- `#C8D8C0` — **Hoarfrost.** Used for the translucent-frost overlay panels (frosted-glass cards in Panels 5 and 10). Applied as `rgba(200, 216, 192, 0.18)` over a `backdrop-filter: blur(22px) saturate(1.4)`.
- `#9F8C6E` — **Wet Bark.** The single warm accent. Used sparingly on the Bagel Fat One wordmark, on the goblin eye, on the underline of links when hovered. (HSL 36, 19%, 53%).
- `#D14B3C` — **Toadstool Cap.** A single hostile red, used **only** on the Gripe Box panel and on rejected/unavailable game listings. (HSL 6, 65%, 53%).
- `#1B2620` — **Ice Shadow.** The colour of the icicle-fringe seams between panels. Slightly lighter than Bog Bottom for SVG visibility on dark.

The palette deliberately avoids the candy-bright greens, mushroom-pinks, and sticker-yellow that dominate goblincore Pinterest boards. This is **goblincore in February** — a moss palette that has been frozen and de-saturated by overnight cold.

## Imagery and Motifs

The site uses **no photography**. This is a deliberate inversion of the 98% photography-saturation in the corpus. Instead, four motif families compose the visual world, all generated in SVG, CSS, and a single sprite-sheet PNG.

**1. Floral-Botanical (motif at 3% in the registry — actively claimed and used as the structural through-line).** Hand-traced botanical illustrations in the Maria Sibylla Merian / Ernst Haeckel tradition, but specifically of *forest-floor unglamorous flora*: dead nettle, wood sorrel, lichen patches, slime moulds, fly agaric in the rotted state, rosehip skeletons, ivy with frost on the leaves, fiddlehead ferns mid-unfurl, pine cones disassembled into their scale-units. All illustrations are **single-stroke white-line SVG** at `stroke: #E8EEEA; stroke-width: 1.2; fill: none;`, hand-drawn-feel via deliberate path irregularities. The botanical illustrations are layered behind game thumbnails in Panel 2, climb the catalogue taxonomy as living vines in Panel 7, and appear as skeleton-leaves drifting horizontally across the entire 6800px strip at three parallax depths (0.2x, 0.5x, 0.85x scroll velocity) in counter-direction to the user's scroll. The total botanical sprite library contains 47 hand-drawn elements.

**2. Glitch-Art (imagery at 4% in the registry — actively claimed and combined with goblincore, a pairing the corpus has not seen).** Glitch is implemented not as the obvious cyberpunk chromatic-aberration but as **frost-glitch**: a CSS shader effect on every game thumbnail and every kinetic paragraph that simulates the way ice on glass distorts an image into shifted vertical bars. Uses three stacked `feDisplacementMap` SVG filters with `baseFrequency` perlin-noise, animated on a 22-second cycle. The displacement amplitude is small (4–6px) so it reads as *frost, not corruption*. On hover, the amplitude jumps to 18px for 180ms and snaps back. Glitch never appears on the body type — only on display labels and on imagery.

**3. Translucent-Frost overlays (palette mechanic, lifted into imagery).** Two of the eleven panels (Frost-Window Reading Room and Frost on the Glass) are rendered as **frosted glass panes** over the underlying forest-floor strip. The frost effect is built from `backdrop-filter: blur(22px) saturate(1.4) contrast(0.95)` plus a tiling SVG noise overlay (`feTurbulence baseFrequency=0.92`) at 8% opacity, plus a hand-drawn ice-crystal SVG decoration at the four corners of each pane. The crystals grow and recede on a 40-second sine cycle. Cursor proximity within 240px clears a 180px-radius round window in the frost (using a CSS `mask-image` radial gradient that follows the cursor) — this is the **breath-on-glass** interaction that reveals the body copy beneath.

**4. The Goblin (single mascot motif, hand-drawn).** A single vector goblin appears in three places: a blinking eye in the negative space of the wordmark on Panel 1; a small full-body figure (60px tall) hidden somewhere different on the strip on each visit (deterministic per visitor-day-hash, like the vine grid); and a pair of clawed hands holding the icicle-fringe at the top of the seams between panels. The goblin is drawn in the same single-stroke `#E8EEEA` line as the botanicals, but with one feature in `#9F8C6E` (the eye), so it reads as the only warm-eyed thing on the strip. The goblin is *never explained, captioned, or labelled.*

**Decorative seam-fringes:** Every seam between panels is an irregular hanging icicle SVG generated from a fixed seed-array of 23 icicle shapes, ranging from 14px to 86px long. Total of 10 seams, ~7 icicles each. Icicles drift their hue between `#1B2620` and `#A8C4B6` on a 60-second cycle to simulate slow refraction of dusk light.

## Prompts for Implementation

Build gabs.games as **one HTML document, one CSS file, one ES module, one SVG sprite-sheet (`flora.svg` ~88kb containing all 47 botanicals + the goblin + the icicles), and one JSON file (`catalogue.json`) holding the game data**. No framework. No bundler. No webfont self-host (use Google Fonts CDN — `Bagel+Fat+One&family=Recursive:slnt,wght,CASL,MONO@-15..0,300..1000,0..1,0..1&family=Henny+Penny&family=JetBrains+Mono:wght@400..700&display=swap`). No photography assets. No favicon raster — use an SVG favicon of a single fly-agaric-in-frost.

The user's experience is **one continuous lateral drift**, paced by the rhythm of the icicle-seams and the breathing of the kinetic type. Storytelling, not feature listing, is the structural principle. Every panel is a small narrative about gabs the goblin and the things gabs has hoarded.

Specific implementation guidance:

1. **Layout shell.** Use `body { overflow-y: hidden; overflow-x: auto; }` with the strip as a single `<main style="display: flex; width: 6800px; height: 100vh;">`. Each `<section>` has a fixed pixel width matching its panel size and `height: 100vh`. Map vertical wheel-events to horizontal scroll via JS (`window.addEventListener('wheel', e => { window.scrollBy({left: e.deltaY * 1.4}); e.preventDefault(); }, {passive: false})`) so trackpad and mousewheel both feel native. On touch, the strip scrolls naturally horizontally — add a chunky 64px-tall drag-handle at the bottom of the viewport that the user can grab.

2. **Snap behaviour.** Use `scroll-snap-type: x proximity` (not mandatory) so the strip snaps softly to panel boundaries when the user pauses but does not aggressively jerk between sections during free drift. Each panel sets `scroll-snap-align: start` and `scroll-snap-stop: normal`.

3. **Kinetic typography animation.** Implement Recursive's variable-axis drift via a single CSS `@keyframes` block:

   ```css
   @keyframes goblin-breathe {
     0%, 100% { font-variation-settings: "slnt" -2, "CASL" 0.2, "wght" 380; }
     33%      { font-variation-settings: "slnt" -6, "CASL" 0.6, "wght" 460; }
     66%      { font-variation-settings: "slnt" -3, "CASL" 0.4, "wght" 420; }
   }
   p { animation: goblin-breathe 14s ease-in-out infinite; }
   ```

   Stagger each paragraph's `animation-delay` by `index * 0.85s` so they breathe in arrhythmic chorus. On `:hover`, swap to a 380ms `goblin-startle` keyframe that snaps to randomized end-states.

4. **Frost-glitch SVG filter.** Define one reusable filter in the SVG sprite-sheet:

   ```svg
   <filter id="frost-glitch">
     <feTurbulence type="turbulence" baseFrequency="0.018 0.62" numOctaves="2" seed="3"/>
     <feDisplacementMap in="SourceGraphic" scale="5"/>
   </filter>
   ```

   Apply via CSS `filter: url(#frost-glitch)` to all `.thumbnail` and `.display-label` elements. Animate `scale` via JS on hover by keyframing a CSS custom property `--glitch-amp` from 5 to 18 and back.

5. **Vine-grid generator.** Server- or client-side, generate a deterministic SVG path per `visitor-day-hash` (hash of `clientIP + UTC-date` or fallback to `Date.now() / 86400000 | 0`). The path is a B-spline through 14 control points scattered across each large panel's bounds. Game thumbnails and catalogue entries are anchored to nodes along the vine path via JS at first paint. Once per UTC day the layout shifts.

6. **Breath-on-glass interaction.** On the two frosted panels, attach a `mousemove` handler that updates two CSS custom properties on the panel: `--breath-x` and `--breath-y`. The frost overlay uses `mask-image: radial-gradient(circle 180px at var(--breath-x) var(--breath-y), transparent 0%, transparent 60%, black 100%)`. Touch devices get a tap-to-clear behaviour with a 4-second linger before the frost reseals.

7. **Botanical parallax.** Three SVG sprite layers (`.flora-near`, `.flora-mid`, `.flora-far`) at z-indices 1, 2, 3 behind the panel content. Update their `transform: translateX()` per `scroll` event, multipliers `-0.85`, `-0.5`, `-0.2` (negative = counter-direction to scroll). The visual effect is botanicals drifting backward relative to the user's forward drag, creating a strong sense of *moving through* the forest-floor strip.

8. **Daily-hash goblin placement.** On first paint, compute `(visitor-day-hash mod 11)` to pick the panel where the 60px goblin appears, then `(hash >> 4 mod 100)` and `(hash >> 8 mod 100)` for x% and y% within that panel. The goblin is always there, never explained. Sometimes the user finds it. Sometimes the user does not.

9. **Micro-interactions (pattern at 6% in the registry — actively claimed).** Eight named micro-interactions, each scoped to a specific surface, none of them generic "hover-lift" or "scale-hover":

   - **Frost-bite.** Wordmark letters individually trigger a 220ms inward-frost spike on hover.
   - **Toad-spittle tooltip.** Tooltips fade in as a single irregular SVG droplet that elongates downward from the cursor.
   - **Vine-grow link underline.** Links underline themselves with an SVG path that grows leftward from the period of the sentence.
   - **Icicle-tap seam.** Clicking on an inter-panel seam plays a single 180ms CSS-only chime (a transform-driven shimmer, no audio).
   - **Eye-blink wordmark.** The goblin eye in Panel 1 blinks every 7–11 seconds (random within range), and immediately when the cursor passes within 60px.
   - **Spore-burst submit.** The Gripe Box submit button releases 12 SVG spore particles on click, drifting upward and fading.
   - **Lichen-grow loader.** Async catalogue queries show a single SVG lichen patch growing radially from a centre point.
   - **Breath-fog metadata.** Game metadata (release date, file size) appears only when the cursor breathes within 80px, fogged-in via a 320ms opacity + filter blur transition.

10. **No dark-mode toggle.** The site is permanently dark. The goblin is not interested in your light theme.

11. **No newsletter signup, no cookie banner, no analytics popup, no `Get Started` CTA, no pricing page, no testimonial slider, no stat-grid.** The Closing Burrow (Panel 11) is just a hole. Let it be a hole.

12. **Performance is irrelevant per spec, but visual integrity of the kinetic type is not.** If a browser does not support variable fonts well enough to animate `font-variation-settings`, fall back to a static `font-style: italic; font-weight: 400;` rendering — *do not* attempt to fake the animation with CSS-only italic toggling. The goblin would notice.

## Uniqueness Notes

This design commits to the following differentiators, chosen explicitly to avoid duplicating other CMassC sites and to lean into the underused patterns surfaced by frequency analysis:

1. **Goblincore at 2% — pushed into the cold.** Goblincore appears in only 2% of the 190 prior designs, and in nearly all those uses it carries the canonical tumblr-Pinterest signal: warm-toned, mushroom-pink, found-treasure-clutter, hand-drawn naive. gabs.games refuses every one of those moves: the palette is *frozen*, the layout is hostile-horizontal, the typography is technical-variable rather than handwritten-warm. This is the corpus's first **frost-goblincore** site.

2. **Horizontal-scroll at 8% — committed to as the *only* scroll axis.** Horizontal-scroll appears in 8% of corpus designs, but invariably as a *gallery section* embedded inside a vertically-scrolled page. gabs.games is the only site in the corpus where vertical scroll is **explicitly forbidden** and the entire experience is a single 6800px horizontal strip. This pushes the underused pattern into a fully load-bearing role.

3. **Kinetic-animated typography at 3% — applied to body copy, not hero text.** Kinetic-animated typography appears in 3% of the corpus, almost exclusively on hero headlines and wordmarks. gabs.games applies kinetic variation-axis animation to **every paragraph of body copy** (Recursive's slant + casual + weight axes drifting on a 14-second arrhythmic cycle), making the prose itself the kinetic surface. The goblin's voice is literally *moving while you read it*.

4. **Translucent-frost palette at 3% — tinted into goblincore green-grey, away from the corpus's blue-default.** Translucent-frost in the corpus has been used only with cool-blue and ethereal-blue family palettes. gabs.games builds the frost effect on top of a *moss-green near-black* (`#0E1311`) and a *lichen-frost* (`#A8C4B6`) primary, repositioning translucent-frost in a forest-floor register that the corpus has not seen.

5. **Edgy-rebellious tone at 1% — the rarest tone in the entire corpus.** Edgy-rebellious appears in only 1% of designs (the absolute floor of the tone vocabulary). gabs.games leans into it without softening it: no onboarding, no CTAs, no testimonials, a Gripe Box panel that publicly archives user complaints, a closing panel that is literally just a dark hole. The goblin is not *cute-rebellious*; the goblin is *actually unwelcoming*, and the design honours that.

6. **Frost-glitch (glitch-art at 4%) decoupled from cyberpunk.** Glitch-art at 4% in the corpus is almost universally paired with cyberpunk, vaporwave, or dark-neon registers. gabs.games pairs it with **goblincore + floral-botanical**, and re-implements the glitch as *frost-on-glass distortion* rather than chromatic aberration. The displacement-map filter is tuned for organic-cold (low frequency, high vertical-Y bias) rather than digital-hostile.

7. **Floral-botanical motifs at 3% — used as a *root-system layout grid*, not as decoration.** Floral-botanical at 3% is typically rendered as decorative corner-flourishes or hero-background flora. gabs.games turns the botanical illustration into the **actual layout grid generator**: the SVG vine path, regenerated daily, is what positions every catalogue entry. The flora is not decoration; the flora is the structure.

8. **No photography (against 98% baseline).** 98% of the corpus uses photography. gabs.games uses *zero* raster photographic imagery. The visual world is 100% generated marks: SVG single-stroke botanicals, SVG icicles, SVG goblin, SVG frost-noise, CSS backdrop-filter frost. This is a deliberate refusal of the corpus default.

9. **Card-grid at 83% — refused.** Card-grid is the second-most-common layout pattern in the corpus. gabs.games does not use card-grid anywhere. Even the catalogue (Panel 7) is a *vine-anchored taxonomy*, not a grid of cards. Game thumbnails on Panel 2 are arranged on a tilted picnic-blanket — a deliberately hand-irregular non-grid.

10. **Daily layout regeneration.** The vine-grid and the goblin-placement both reorganize once per UTC day, using a deterministic visitor-day-hash. This is unusual in the corpus, which typically commits to a single fixed layout. gabs.games is *the same site, but rearranged* every morning — a structural commitment to the goblin's stated unwillingness to do the same thing twice.

**Chosen seed (from assignment):** *aesthetic: goblincore, layout: horizontal-scroll, typography: kinetic-animated, palette: translucent-frost, patterns: micro-interactions, imagery: glitch-art, motifs: floral-botanical, tone: edgy-rebellious.* All eight seed dimensions land in actively underused corpus territory (goblincore 2%, horizontal-scroll 8%, kinetic-animated 3%, translucent-frost 3%, micro-interactions 6%, glitch-art 4%, floral-botanical 3%, edgy-rebellious 1%). No dimension of this seed exceeds 8% corpus frequency; six of the eight sit at or below 4%. Edgy-rebellious at 1% is the rarest tone in the entire vocabulary.

**Avoided patterns (from frequency analysis):** hand-drawn aesthetic (96% — refused; we use single-stroke vector instead), glassmorphism aesthetic (67% — refused; frost is a separate motif), photography imagery (98% — refused entirely), full-bleed layout (93% — refused; horizontal-strip instead), card-grid layout (83% — refused; vine-anchored taxonomy instead), centered layout (82% — refused; left-anchored horizontal flow), warm palette (97% — refused; frozen moss-green palette), gradient palette (97% — refused; flat solid colours only), parallax pattern (95% — *kept and committed to* as the primary depth mechanic, but rotated 90deg into horizontal parallax which is uncommon), cursor-follow (84% — kept only for the breath-on-glass interaction, scoped tightly), spring (82% — refused as motion model; we use ease-in-out CSS curves, not spring physics), magnetic (76% — refused), stagger (77% — kept only for the kinetic-typography arrhythmic chorus), mono typography (95% — used only as a *foreign object* for technical metadata, not as the primary voice), humanist typography (52% — refused), pastoral-romantic tone (34% — refused; this is pastoral-*hostile*).
<!-- DESIGN STAMP
  timestamp: 2026-05-09T22:28:37
  seed: dimensions land in actively underused corpus territory
  aesthetic: gabs.games is **a frostbitten goblin's curio cabinet, dragged sideways across th...
  content_hash: 856697d6946b
-->
