# Design Language for ppuzzl.dev

## Aesthetics and Tone
ppuzzl.dev channels the atmosphere of a forgotten 1970s European puzzle magazine -- the kind that arrived in a brown paper sleeve, printed on thick uncoated stock with slightly misregistered CMYK plates, where every page was a labyrinth of interlocking geometric challenges designed by anonymous mathematicians who smoked too much and listened to Krautwerk on vinyl. The aesthetic is **avant-garde** filtered through **nostalgic-retro** sensibility: radical compositional experiments that feel like they were discovered in a dusty archive rather than invented yesterday. Think Jan Tschichold's asymmetric typography colliding with the puzzle-grid obsession of Martin Gardner's Scientific American columns, all rendered in the warm, loamy palette of sun-faded terracotta pottery and dried autumn leaves pressed between encyclopedia pages.

The tone is not ironic nostalgia -- it is sincere excavation. ppuzzl.dev feels like a place where puzzles are treated as archaeological artifacts, where each interaction is a careful brushing-away of sediment to reveal the pattern beneath. There is warmth here, but it is the warmth of old paper and afternoon light through amber glass, not the warmth of corporate friendliness. The site whispers rather than shouts; it invites lingering rather than clicking.

## Layout Motifs and Structure
The layout employs a **parallax-sections** architecture composed of discrete, full-viewport puzzle "chambers" -- each section occupies exactly 100vh and functions as its own self-contained spatial composition. The user scrolls between chambers as if turning pages in a thick codex. Each chamber has a distinct internal layout, but all share a common structural DNA: an invisible 8x8 grid (a chessboard homage) that governs element placement.

**Parallax Chamber System:**

Chamber transitions use depth-layered parallax: as the user scrolls past a chamber boundary, the foreground content (text, puzzle elements) moves at 1.0x scroll speed, mid-ground decorative elements (floating geometric shapes, faded grid lines) move at 0.6x, and the deep background texture (a subtle paper grain) moves at 0.2x. This creates a diorama effect -- each chamber feels like a shoebox theater viewed through a peephole.

**Internal Chamber Layouts:**

- **Chamber 1 (Hero):** Title and tagline positioned at the intersection of the 3rd column and 5th row of the 8x8 grid -- deliberately off-center, pulled toward the bottom-left. A large floating puzzle piece silhouette drifts in the upper-right quadrant at mid-ground depth.
- **Chamber 2 (Concept):** Text arranged in two unequal columns (5:3 ratio) with a vertical dividing line that itself is a thin, animated puzzle-edge pattern -- interlocking tabs and blanks drawn in a single stroke.
- **Chamber 3 (Exploration):** A scattered arrangement of 5-6 small content cards, each rotated between -3deg and +4deg, placed seemingly randomly but actually locked to specific grid intersections. Cards float at slightly different parallax depths, creating a table-of-scattered-papers effect.
- **Chamber 4 (Philosophy):** A single centered paragraph in a narrow measure (480px), surrounded by enormous negative space. The emptiness itself is the design -- the puzzle of absence.
- **Chamber 5 (Closing):** The domain name repeated in a diminishing spiral pattern, each repetition 15% smaller and 8% more transparent than the last, creating a vortex that pulls the eye to a single glowing dot at the center.

Navigation is implicit -- there is no menu bar, no hamburger, no nav links. Small, nearly invisible dot indicators along the right edge suggest chamber positions. Scroll is the only interface.

## Typography and Palette
**Typography:**

- **Primary Display / Headlines:** "Nunito" (Google Fonts) -- a well-balanced rounded-edge sans-serif whose softened terminals feel like puzzle pieces with their corners sanded smooth. Weight 800 (ExtraBold) for headlines at 3.6rem to 6.4rem with `letter-spacing: -0.02em` and `line-height: 1.0`. The rounded terminals of Nunito prevent the large sizes from feeling aggressive -- instead, headlines feel like friendly monoliths, massive but approachable, like boulders smoothed by a river. All headlines use sentence case only -- no uppercase, no title case -- reinforcing the understated, archival tone.

- **Body Text / Reading Content:** "Quicksand" (Google Fonts) -- a geometric rounded sans-serif with a distinctive, slightly wide character width and perfectly circular bowls. Weight 400 (Regular) for body text at 1.05rem with `line-height: 1.72` and `letter-spacing: 0.01em`. Quicksand's geometric precision pairs with Nunito's warmth to create a typographic relationship that feels like two puzzle pieces from the same set -- clearly related, but each with its own distinct shape. The generous line-height creates breathing room that echoes the negative-space philosophy of Chamber 4.

- **Accent / Labels / Micro-copy:** "Nunito" weight 600 (SemiBold) at 0.78rem with `letter-spacing: 0.08em` and `text-transform: uppercase`. Used sparingly for chamber indicators, date stamps, and metadata. The small-caps-like effect of tiny uppercase rounded letters creates a secondary voice -- the archivist's marginal notes.

**Palette:**

The palette is drawn from **earth-tones** -- specifically, the color spectrum of a Tuscan hillside in late October: dried clay, fallen oak leaves, lichen on limestone, and the deep umber of freshly turned soil.

| Role | Name | Hex | Usage |
|------|------|-----|-------|
| Background | Kiln Cream | #F2E8D9 | Primary background for all chambers; warm, off-white with a yellow-brown undertone like unglazed ceramic |
| Primary Text | Loam Dark | #2C1E12 | All body text and headlines; a near-black brown that avoids the coldness of pure black |
| Accent | Terracotta Ember | #B85C38 | Interactive elements, puzzle-edge patterns, floating element strokes, dot indicators |
| Secondary | Lichen Sage | #7A8B6F | Secondary text, chamber labels, decorative grid lines; a muted green-gray like dried sage |
| Deep Ground | Peat Earth | #3D2B1F | Deep background layer color, used behind paper texture; the color of rich composted soil |
| Highlight | Ochre Glow | #D4A04A | Hover states, active indicators, the central vortex dot in Chamber 5; a warm golden amber |
| Whisper | Fossil Beige | #E5D5C0 | Card backgrounds, subtle section dividers; slightly darker than Kiln Cream for layered depth |

All color transitions use `transition: color 0.4s ease, background-color 0.4s ease` -- slow enough to feel deliberate, like turning a page.

## Imagery and Motifs
**Floating Elements as Primary Visual Language:**

The defining visual motif is a system of **floating geometric puzzle fragments** -- abstract shapes that reference jigsaw puzzle pieces, tangram tiles, and pentomino blocks without literally depicting any specific puzzle. These elements drift slowly across the parallax mid-ground layer, rotating at imperceptible speeds (one full rotation per 120 seconds), creating a sense of suspended time.

**Floating Element Specifications:**

- **Puzzle Silhouettes:** Abstract shapes with one or two interlocking tabs/blanks on their edges, rendered as outlined strokes (2px) in Terracotta Ember (#B85C38) with no fill. The shapes are large (80px-200px) and positioned with generous spacing -- never overlapping, never crowding. Each shape has a subtle CSS `drop-shadow` in Peat Earth (#3D2B1F) at 30% opacity, offset 4px down and 2px right, reinforcing the floating-above-paper illusion.

- **Grid Ghost Lines:** Faint horizontal and vertical lines in Lichen Sage (#7A8B6F) at 8% opacity that flicker into visibility as the user scrolls near them, suggesting the underlying 8x8 grid structure. These lines appear on the deep background layer and move at the slowest parallax rate, creating a sense of structural archaeology -- the grid is always there, you just cannot always see it.

- **Paper Grain Texture:** The deepest background layer carries a subtle noise texture (CSS `background-image` using an inline SVG `<feTurbulence>` filter) that mimics the surface of uncoated printing paper. The grain is visible at full opacity only in the margins and bleeds to 20% opacity beneath content areas, preventing readability interference.

- **Puzzle-Edge Borders:** Section dividers are not straight lines but interlocking puzzle-edge patterns -- a repeating SVG path of alternating tabs and blanks, rendered in Lichen Sage at 15% opacity. These borders reinforce the puzzle metaphor without being literal or kitschy.

- **Chamber Transition Wisps:** During parallax transitions between chambers, thin curved lines (like smoke trails or string unraveling from a spool) arc across the viewport in Ochre Glow (#D4A04A) at 40% opacity, connecting the departing chamber to the arriving one. These wisps last only 800ms before fading, creating a momentary visual bridge.

No photographs. No illustrations of people or objects. No icons from icon libraries. Every visual element is abstract, geometric, and handcrafted in CSS/SVG.

## Prompts for Implementation
**Full-Screen Parallax Chamber Narrative:**

The site loads to a full-viewport expanse of Kiln Cream (#F2E8D9). Before any content appears, the paper grain texture fades in over 600ms on the deepest layer, establishing the tactile foundation. Then, 400ms later, two floating puzzle silhouettes drift in from opposite edges of the viewport -- one from the upper-left, one from the lower-right -- moving slowly toward their resting positions in the mid-ground. They take 1800ms to settle, their movement eased with `cubic-bezier(0.25, 0.1, 0.25, 1.0)`.

Once the floating elements are in position, the headline "ppuzzl.dev" appears at the grid intersection (column 3, row 5) in Nunito ExtraBold, 5.6rem, Loam Dark (#2C1E12). The text does not fade in -- it is revealed character by character from left to right, each character appearing with a 60ms stagger, as if being stamped by a manual typewriter with rounded keys. Below the headline, after a 300ms pause, a subtitle appears in Quicksand Regular, 1.2rem, Lichen Sage: "where puzzles become architecture" -- this text fades in as a complete unit over 500ms.

**Scroll Behavior:**

Scrolling is snapped to chamber boundaries using `scroll-snap-type: y mandatory` with `scroll-snap-align: start` on each chamber. The snap creates a codex-turning rhythm -- the user commits to each chamber before moving to the next. During the scroll transition, the three parallax layers separate visually: foreground text slides away quickly, mid-ground floating elements drift lazily, and the deep grain texture barely moves, creating a theatrical depth separation.

**Parallax Implementation:**

Each chamber is a `<section>` with `position: relative; height: 100vh; overflow: hidden;`. Within each section, three `<div>` layers are absolutely positioned:
- `.layer-deep` (z-index: 1): paper grain + ghost grid lines, `transform: translateY(calc(var(--scroll-y) * 0.2))`.
- `.layer-mid` (z-index: 2): floating puzzle silhouettes, `transform: translateY(calc(var(--scroll-y) * 0.6))`.
- `.layer-fore` (z-index: 3): text content, `transform: translateY(calc(var(--scroll-y) * 1.0))`.
A single `requestAnimationFrame` loop updates `--scroll-y` as a CSS custom property on the root, driving all parallax calculation without per-element JavaScript.

**Chamber-Specific Animations:**

- Chamber 2: The puzzle-edge divider line between the two text columns draws itself from top to bottom using `stroke-dasharray` / `stroke-dashoffset` animation over 1500ms, triggered when the chamber snaps into view.
- Chamber 3: The scattered cards enter by floating down from above, each with a slightly different delay (100ms, 250ms, 380ms, 520ms, 670ms) and a gentle rotation wobble (`@keyframes wobble-settle` that oscillates +/-2deg before settling to its final rotation).
- Chamber 5: The diminishing spiral of domain-name text pulses gently -- each repetition brightens by 5% opacity then dims back over a 4-second cycle, with each ring offset by 400ms, creating a breathing-vortex effect.

**Interaction Details:**

- Hover on floating puzzle silhouettes: the stroke color transitions from Terracotta Ember to Ochre Glow over 0.6s, and the element's rotation speed doubles briefly (from 120s to 60s per rotation) before easing back.
- Hover on scattered cards in Chamber 3: the card lifts 8px (via `translateY(-8px)`) and its shadow deepens, while adjacent cards shift 4px away, as if the table surface tilted slightly.
- The dot indicators on the right edge glow (Ochre Glow background at 60% opacity) when their corresponding chamber is active, with a soft pulse animation.

**AVOID:** CTA buttons, pricing tables, feature comparison grids, testimonial carousels, stat counters, newsletter signup forms, cookie banners. This is not a product page. It is an experience -- a puzzle to be explored, not a funnel to be converted through.

**Technical Notes:**
- Use CSS `scroll-snap-type` for chamber snapping -- no JavaScript scroll-hijacking libraries.
- All parallax via CSS custom properties + `requestAnimationFrame` -- no heavy parallax libraries.
- Floating element rotation via `@keyframes spin { to { transform: rotate(360deg) } }` with `animation-duration: 120s; animation-timing-function: linear; animation-iteration-count: infinite`.
- Paper grain via inline SVG filter: `<filter><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="3" /><feColorMatrix type="saturate" values="0" /></filter>` applied to a full-screen `<div>`.

## Uniqueness Notes
**Differentiators from other designs:**

1. **Parallax-Sections as Full Architectural System:** While parallax appears at 76% frequency as a simple scrolling effect, the parallax-sections layout pattern (2% frequency) is used here as a complete spatial architecture -- every section is a self-contained 100vh chamber with three independent depth layers, scroll-snapping between them like turning pages in a physical codex. This is not parallax-as-decoration; it is parallax-as-structure, where the depth separation creates meaning (foreground = content, midground = puzzle metaphor, background = materiality).

2. **Rounded-Sans Typography at 1% Frequency:** The Nunito + Quicksand pairing occupies the nearly-untouched rounded-sans category. Where most designs reach for geometric sans-serifs (Grotesk, Inter) or elegant serifs (Playfair, Cormorant), this design leans into the softened, puzzle-piece-like terminals of rounded typefaces -- creating a typographic identity that literally embodies the puzzle theme through letterform shape rather than decorative treatment.

3. **Floating Elements as Narrative Device (1% Motif Frequency):** The floating puzzle silhouettes are not decorative illustrations or background ornamentation -- they are autonomous characters that drift through the parallax mid-ground with their own rotation speeds and hover behaviors. No other design in the portfolio uses floating-elements as a primary motif. Here, they create a sense of puzzles-in-progress, of pieces not yet assembled, reinforcing the site's identity as a space where things are still being figured out.

4. **Earth-Tones Palette Without Photography (3% Palette Frequency):** Earth-tones at 3% frequency combined with minimal imagery (no photographs) creates a rare combination. The palette references physical materials -- kiln-fired clay, composted soil, dried sage, aged paper -- but delivers them entirely through color and texture rather than photographic representation. The site feels tactile without showing any real-world objects.

5. **Nostalgic-Retro Tone Through Materiality, Not Kitsch:** The nostalgic-retro tone (4% frequency) is achieved through the paper grain texture, the typewriter-stagger text reveal, and the faded-archive color palette -- not through retro typography treatments, halftone dots, or vintage illustration styles. The nostalgia is for a feeling (the quiet concentration of solving a puzzle on a Sunday afternoon) rather than a specific visual era.

**Chosen Seed:** aesthetic: avant-garde, layout: parallax-sections, typography: rounded-sans, palette: earth-tones, patterns: parallax, imagery: minimal, motifs: floating-elements, tone: nostalgic-retro

**Avoided Overused Patterns:** playful aesthetic (95%), centered layout (99%), mono typography (99%), warm palette (100%), scroll-triggered patterns (96%), friendly tone (98%), vintage motifs (87%). This design deliberately sidesteps every pattern above 50% frequency, occupying the quiet margins of the design vocabulary where avant-garde meets earth-tones meets floating geometry.
<!-- DESIGN STAMP
  timestamp: 2026-03-10T22:36:58
  domain: ppuzzl.dev
  seed: seed:
  aesthetic: ppuzzl.dev channels the atmosphere of a forgotten 1970s European puzzle magazine...
  content_hash: 44f8fb0e41b2
-->
