# Design Language for ppuzzle.net

## Aesthetics and Tone

ppuzzle.net is **a workbench at dusk where someone is assembling an enormous jigsaw out of pixels** — half the table is finished and glowing, half is still a heap of loose cardboard knobs and blanks, and you can never quite tell which half you're looking at. The aesthetic is **90s pixel-art craftsmanship reframed as a tabletop puzzle ritual**: every shape on the screen has the chunky, deliberate edge of a sprite drawn one block at a time, but the *composition* behaves like physical puzzle pieces — they snap, they interlock, they leave gaps, they get picked up and turned over.

The tone is **whimsical-creative with a craftsman's patience**. Not the manic candy-rush of dopamine design, not the ironic distance of vaporwave — something closer to the quiet satisfaction of the *click* when a piece finally seats. The site should feel like it has all the time in the world. Copy is sparse, almost koan-like ("a corner is just two edges that agreed to meet"), set against generous breathing room. The "P" of ppuzzle is itself the protagonist: a single pixel-art puzzle piece, knob on one side, blank socket on the other, that the entire site is built around finding a home for.

Inspiration touchstones: the box-art of early Game Boy puzzlers, the felt-lined drawers of a vintage tangram set, isometric pixel dioramas (Eboy-adjacent but warmer), and the specific beige-and-amber light of an afternoon spent not finishing something.

## Layout Motifs and Structure

The page is laid out on a **hexagonal-honeycomb grid** (honeycomb sits at only 2% in the frequency analysis — this site claims that room) — but here the hexagons aren't decorative cells, they are **the puzzle's interlocking sockets**. Content blocks are hex-shaped tiles that tessellate edge to edge, each one carrying a knob-and-blank silhouette so that adjacent tiles visibly *grip* one another. Scroll behaves like sliding the whole assembled corner of a puzzle across the table: the honeycomb pans diagonally, not just vertically.

Structural rules:

- **The Loose Heap and the Finished Corner.** Every viewport is split (not 50/50, more like 38/62 on a slow diagonal seam) between an *unsolved zone* — scattered, slightly-rotated pixel pieces drifting in negative space — and a *solved zone* where pieces have locked into the honeycomb. As you scroll, the seam migrates: more of the heap resolves into structure.
- **Hex tiles, never rectangles.** Headlines, the wordmark, the navigation, even the footer all live inside pointy-top hexagons. Where text needs more width than a single hex allows, two or three hexes fuse into a "super-piece" with a continuous interior but a knobbed exterior.
- **The Missing Piece.** There is always exactly one empty hex-shaped hole somewhere on screen — a dark socket with a pixel-art highlight on its inner edges. It is the negative space the design is organized around. Interacting with the page (a click anywhere) sends a piece flying in to fill it; a new hole opens elsewhere.
- **Diagonal pan, not scroll.** The honeycomb shifts on a 30° axis as the page advances, so the eye tracks the puzzle being laid out left-to-right-and-down, the way a person actually works a jigsaw.
- No CTA bars, no pricing tiers, no stat grids, no testimonial carousels. The page is a single uninterrupted table.

## Typography and Palette

**Fonts (Google Fonts only):**

- **Display & Wordmark — *Silkscreen* (Bold, 700)** — a true bitmap typeface; every glyph is built from visible square pixels. Used for "ppuzzle.net", for the giant single-word headlines that fill a super-piece, and for the numerals on each hex tile. Rendered large and crisp with `image-rendering: pixelated` on any scaled element so the blocks stay hard-edged. Letter-spacing slightly loosened so each character reads as its own little tile.
- **Body & Captions — *Pixelify Sans* (Regular 400, Medium 500)** — a softer, more readable pixel face that keeps the handmade-sprite feeling at paragraph sizes without becoming illegible. Used for the koan-like captions, the about text, and tile labels. Line-height generous (1.7) — this site is never in a hurry.
- **Accent / micro-labels — *VT323* (Regular 400)** — a CRT-terminal monospace, used only at tiny sizes for things like piece-count tallies, edge labels ("EDGE 04 / 27"), and the cursor coordinate readout. It's the "instructions printed on the inside of the box lid" voice.

**Palette — warm cardboard-and-amber, with two cool accents for the unsolved zone:**

- `#F4E9D8` — **Boxboard Cream**: the table surface, dominant background.
- `#2B2118` — **Burnt Umber**: primary ink, hex outlines, pixel shadows.
- `#E0913C` — **Amber Knob**: the signature accent — the "P" puzzle piece, locked-tile highlights, the warm glow of the finished corner.
- `#C9402F` — **Cinnabar Click**: reserved exclusively for the *snap* moment — the brief flash when a piece seats into the missing hole.
- `#5B7B8A` — **Slate Drift**: the cool tint of unsolved pieces still floating in the heap, and of the empty socket's interior.
- `#9CB4A6` — **Sage Felt**: secondary surface, the "felt drawer" panels behind clustered pieces.
- `#F4E9D8` to `#E9D4B0` — a barely-there warm gradient on the table, like uneven afternoon light.

## Imagery and Motifs

**Everything is hand-built pixel-art SVG and CSS. No photography, no 3D renders, no stock illustration.** Each visual element is drawn on a visible 8px (or 16px) grid so the "blocks" are part of the design language, not an artifact.

- **The Puzzle Piece "P".** The mascot: an isometric-ish pixel-art puzzle piece roughly in the shape of a capital P — a vertical bar with a bowl, with one classic jigsaw *knob* protruding and one *blank socket* notched in. It appears at the top as the wordmark's first letter, then recurs throughout — sometimes flat, sometimes shown mid-rotation (a 3-frame pixel "flip" sprite), sometimes locked into the honeycomb.
- **Knob-and-blank silhouettes.** The honeycomb hexes don't have clean edges — each edge bulges or notches with the classic jigsaw tab. When two tiles meet, knob fits blank. This is rendered with SVG `clip-path` so tiles genuinely interlock.
- **The Loose Heap.** A drift of 12–20 small pixel pieces — different colors, all slightly rotated (±8°, ±15°), with a faint pixel drop-shadow — scattered through the unsolved zone. They jitter very slightly on a slow loop, like things still settling.
- **The Missing Socket.** A single dark hex hole with a 1px Amber Knob inner highlight on the lit edges and Slate Drift in its depths. Subtle inward "glow" pulse.
- **Pixel dust.** When a piece locks in, a tiny burst of 4–6 single-pixel squares scatters outward and fades — the cardboard equivalent of sparks.
- **Edge-tally marks.** Tiny VT323 tick marks along the bottom of finished sections, like counting completed border pieces.
- **Isometric mini-dioramas** in section transitions: tiny pixel scenes (a table corner, a lamp, a hand) built from the same hex/piece vocabulary, glimpsed for a moment as the pan crosses them.

## Prompts for Implementation

Build ppuzzle.net as **a single-route, diagonally-panned table** — one HTML file, one CSS file, one JS module. Treat the whole page as an 80–90 second sit-down at a workbench: the puzzle starts as a heap, and by the time the visitor reaches the bottom a recognizable corner of it is finished and glowing amber. No CTA, no pricing, no stat grid, no testimonial row, no signup. Just the table.

**Storytelling structure (vertical scroll mapped to a 30° diagonal pan, slide-reveal between zones):**

1. **The Heap.** Open on Boxboard Cream. The "ppuzzle.net" wordmark sits in a super-piece up top, the "P" rendered as the pixel puzzle-piece sprite. Below/around it: the Loose Heap drifting in negative space, pieces rotated and jittering. One dark Missing Socket is visible. A VT323 line reads "027 pieces / 003 placed".
2. **First Snap.** As the visitor scrolls (or clicks anywhere), a piece detaches from the heap, arcs toward the socket on a spring path, and **clicks in** — a Cinnabar Click flash, pixel-dust burst, the tally ticks up. A new socket opens lower-left. The honeycomb has grown by one hex.
3. **Building the Edge.** Several hex tiles tessellate into a row along the seam, each carrying a koan caption in Pixelify Sans ("an edge knows which way is out", "a corner is two edges that agreed to meet"). The seam between heap and structure migrates with scroll.
4. **The Felt Drawer.** A Sage Felt panel slides in holding a cluster of related pieces — this is the "about" content, set as if pieces laid out in a tray, each one a small hex with text. An isometric mini-diorama (a desk lamp) glints by during the transition.
5. **The Finished Corner.** The honeycomb is now a dense, locked, amber-glowing region occupying most of the viewport; the heap is nearly exhausted in the upper corner. The light gradient on the table warms. Tally reads "027 / 026".
6. **The Last Piece.** One socket remains. The footer lives in it: as the visitor reaches the bottom, the final piece floats down and seats — Cinnabar flash, pixel-dust, then everything settles and goes quiet. The wordmark "P" piece, up top, gives one slow pixel-flip as if to say *done*.

**Animation & interaction:**
- Piece travel uses **spring** easing on an arc/bezier path; the seat is **elastic** with a tiny overshoot then settle. Place a hard 1-frame **Cinnabar Click** flash on the exact seat moment, then fade.
- **Stagger** the tessellation of any multi-tile row (40–60ms between tiles).
- **Cursor-follow / magnetic:** loose heap pieces drift very slightly toward the cursor when it's near, like static cling, then relax. The Missing Socket faintly brightens when the cursor approaches it.
- **Path-draw SVG:** the knob-and-blank outlines of newly-revealed hexes draw on as if traced.
- Honeycomb pan is **scroll-triggered**, 30° axis, with light parallax: the heap layer drifts faster than the locked layer.
- Respect `prefers-reduced-motion`: pieces appear already-placed with a simple **fade-reveal**, no flight paths, panning becomes a plain vertical scroll.
- Keep all pixel art crisp: `image-rendering: pixelated`; scale only by integer factors; draw on an 8px/16px sub-grid.

## Uniqueness Notes

Differentiators from other designs in the corpus:

1. **The honeycomb grid is literally the puzzle, not decoration.** Hexagonal-honeycomb sits at 2% in the layout frequency analysis, and where it appears it's usually a passive cell-grid for cards or images. Here every hex carries an interlocking knob-and-blank silhouette and tiles physically grip each other via `clip-path` — the layout system *is* the subject matter.
2. **Pixel-art used for a calm, patient ritual rather than a hyper, retro-gaming romp.** Pixel-art is at 3% in the aesthetic frequency analysis, and the usual register is loud, candy-bright, nostalgic-arcade. ppuzzle.net renders bitmap sprites in warm cardboard-and-amber and pairs them with koan-like copy and 1.7 line-height — slow pixel-art. Fonts are *Silkscreen*, *Pixelify Sans*, and *VT323*, none of which appear in the typography frequency list at all.
3. **A single, ever-present "missing piece" as the organizing negative space.** Instead of hero-dominant or card-grid composition, the page is built around exactly one empty socket at all times; the entire interaction model is "find the piece a home." The 38/62 migrating diagonal seam between Loose Heap and Finished Corner is a structure I don't see in the corpus.
4. **Diagonal 30° scroll-pan** mimicking how a person actually works a jigsaw, instead of the 91%-common straight parallax-vertical.
5. **Chosen seed: 90s pixel art playful** — `aesthetic: pixel-art, layout: hexagonal-honeycomb, typography: retro-display, palette: warm-earthy, patterns: spring, imagery: hand-drawn, motifs: geometric-shapes, tone: whimsical-creative`.

Avoided overused patterns from the frequency analysis: no glassmorphism (81%), no hand-drawn/sketchbook aesthetic (96%), no photography (98%), no card-grid (91%) or centered (83%) layout, no warm-gradient mesh hero, no CTA/pricing/stat blocks.
<!-- DESIGN STAMP
  timestamp: 2026-05-11T01:57:25
  domain: ppuzzle.net
  seed: 90s pixel art playful
  aesthetic: ppuzzle.net is **a workbench at dusk where someone is assembling an enormous jig...
  content_hash: eb47d6bd1805
-->
