# Design Language for ppuzzl.works

## Aesthetics and Tone

ppuzzl.works inhabits the visual space of a puzzle box dissolving in morning mist -- an **ethereal** meditation on interlocking forms, where translucent pieces drift through warm fog like memories assembling themselves. The aesthetic draws from three intersecting traditions: the soft luminance of Odilon Redon's pastel paintings, the deliberate spatial poetry of Japanese ikebana arrangements, and the satisfying mechanical precision of wooden burr puzzles photographed in golden-hour light. Nothing is loud. Nothing demands. Every element floats in a state of gentle suspension, as if the entire interface exists in the three seconds between waking and full consciousness.

The tone is **calm-serene** -- not the emptiness of clinical minimalism, but the fullness of a quiet room where everything has been placed with care. The site breathes. Text appears as if whispered into existence. Transitions feel like the slow rotation of a kaleidoscope held up to a window on an overcast afternoon. The emotional register is that of solving a puzzle alone at a wooden table while rain falls outside: focused, unhurried, deeply satisfying.

The overall mood rejects the anxious energy of most web experiences. There are no urgency cues, no countdown timers, no aggressive hooks. ppuzzl.works exists in its own time signature -- a 3/4 waltz where most sites operate in 4/4 march tempo. The visitor is invited to linger, to notice, to discover connections between elements that only reveal themselves through patient attention.

## Layout Motifs and Structure

The layout follows a **magazine-spread** philosophy, treating each viewport as a double-page spread in a high-end art publication. Content is arranged in deliberate editorial compositions where text and icon elements create intentional relationships across an invisible gutter line that divides the viewport vertically at the 55/45 mark (not centered, never centered).

**Structural Principles:**

- **The Puzzle Grid:** An underlying 12-column grid with generous 32px gutters, but columns are grouped into irregular clusters of 2-3-4-3 to create organic asymmetry. No two "spreads" (viewport-height sections) use the same column grouping. Content blocks overlap by 8-16px at their edges, creating the visual metaphor of interlocking puzzle pieces without literal jigsaw shapes.

- **Floating Layers:** Three distinct depth planes operate simultaneously. The deepest layer holds background washes of color that shift slowly on scroll. The middle layer contains the primary content -- text blocks and icon clusters arranged in magazine-spread compositions. The foremost layer carries decorative floating elements (translucent geometric fragments, soft-edged circles, hairline connecting lines) that drift with subtle parallax offset, always 3-5% faster than scroll position.

- **The Spread Rhythm:** Each full-viewport section alternates between two composition modes. "Open spreads" place a dominant icon or typographic element on the left 55% with supporting body text flowing in a narrow column on the right 35% (leaving 10% as breathing room). "Close spreads" reverse this relationship and reduce the icon scale, pulling text to the left and letting the right side hold a cluster of smaller floating icons that form a loose constellation. This alternation creates a reading rhythm that feels like turning pages.

- **Gutter as Negative Space:** The central vertical axis is never occupied by content. It remains an empty channel -- the spine of the magazine -- through which the eye travels downward. Elements approach this gutter but never cross it, creating a persistent sense of paired symmetry that is always slightly broken.

- **Section Transitions:** Between spreads, a 20vh buffer zone appears where both the departing and arriving content coexist in a fade-overlap. The old spread's elements drift upward and increase their opacity by 10% (becoming more ghostly) while the new spread's elements solidify from below. This creates a dissolve effect rather than a hard cut between sections.

## Typography and Palette

**Typography:**

- **Display / Headlines:** "Commissioner" (Google Fonts) -- a variable font with a weight axis from 100 to 900 and optical sizing. For display use, set at weight 300 (Light) at 3.5rem-6rem. Commissioner's wide proportions, open counters, and subtle humanist warmth make it ideal for the ethereal register -- it reads as calm authority without the coldness of geometric sans-serifs. Letter-spacing: 0.04em at display sizes for an airy, expansive rhythm. Line-height: 1.05 for display, creating tight vertical blocks that float as unified shapes rather than stacking as separate lines.

- **Body Text:** "Commissioner" at weight 400 (Regular) at 1.125rem-1.25rem. The variable nature of Commissioner allows the same typeface to serve both display and body roles, creating typographic unity. Body text uses letter-spacing: 0.01em and line-height: 1.72 -- unusually generous, reinforcing the sense of space and breath in the reading experience. Paragraph max-width: 38ch for the narrow columns, 52ch for wider text blocks.

- **Accent / Labels:** "Commissioner" at weight 600 (SemiBold) at 0.75rem-0.875rem, set in small-caps with letter-spacing: 0.14em. Used for section labels, metadata captions, and navigational hints. The small-caps treatment at this weight creates a quiet authority -- present but not demanding, like the folio markers in a well-designed book.

- **Monospace Accent (sparingly):** "DM Mono" (Google Fonts) at weight 300, 0.8125rem, used exclusively for puzzle-related numerical sequences, coordinates, or coded hints that appear as decorative marginalia. Never used for primary content. Color: always 50% opacity of the current text color. This typographic voice is the puzzle's mechanical substrate peeking through the ethereal surface.

**Palette:**

The palette is **warm-earthy** -- drawn from the colors of natural materials you might find in a craftsperson's workshop: clay, raw linen, beeswax, walnut wood, dried lavender.

| Role | Name | Hex | Usage |
|------|------|-----|-------|
| Background Primary | Raw Linen | `#F5EDE1` | Main page background, the warm off-white of unbleached fabric |
| Background Secondary | Kiln Wash | `#EBE0D0` | Alternate section backgrounds, card surfaces, modal overlays |
| Text Primary | Walnut Heartwood | `#3B2F2A` | Body text, primary headings -- deep brown-black, never pure black |
| Text Secondary | Dried Clay | `#8C7B6B` | Captions, labels, secondary text -- warm mid-tone grey-brown |
| Accent Warm | Terracotta Slip | `#C47D5A` | Interactive elements, icon highlights, link hover states |
| Accent Cool | Sage Dust | `#9BA88E` | Secondary accent, success states, decorative floating elements |
| Deep Anchor | Fired Earth | `#2A1F1A` | Footer background, deep-contrast sections, tooltip backgrounds |
| Glow | Beeswax | `#E8C98A` | Hover glows, selection highlights, the warm luminance that makes elements feel lit from within |

All transitions between color states use 400ms ease-out timing, reinforcing the unhurried pace. The `Beeswax` glow color is applied as a subtle `box-shadow: 0 0 40px 8px rgba(232, 201, 138, 0.15)` on floating elements to create the ethereal luminance that defines the visual atmosphere.

## Imagery and Motifs

**Icon-Heavy Visual System:**

ppuzzl.works communicates primarily through an **icon-heavy** visual vocabulary rather than photography or illustration. Every concept, section, and interactive element is represented by a custom icon language built from a consistent set of geometric primitives: circles, rounded rectangles, equilateral triangles, and gentle arcs. Icons are rendered as thin-stroke SVGs (stroke-width: 1.5px) in `Walnut Heartwood` (#3B2F2A) or `Dried Clay` (#8C7B6B), with selected strokes highlighted in `Terracotta Slip` (#C47D5A).

The icon vocabulary is organized into three families:

1. **Puzzle Icons:** Interlocking shapes, rotating gears with rounded teeth, sliding tile arrangements, maze fragments, key-and-lock pairs. These represent core content and navigation. Each puzzle icon is composed of exactly 3-5 geometric primitives, maintaining visual consistency at any scale from 24px to 120px.

2. **Process Icons:** Flowing arrows with rounded terminals, branching paths, circular progress indicators, nested frames that suggest zooming-in. These represent states, transitions, and user journey waypoints. Animated versions of these icons play through their sequence on scroll-enter, taking 1.2 seconds for a complete cycle.

3. **Atmosphere Icons:** Abstract forms -- incomplete circles, scattered dots in fibonacci spirals, wavy horizontal lines suggesting heat shimmer, small diamond clusters. These are purely decorative and populate the floating-elements layer. They exist at 20-40% opacity, drifting slowly across the viewport on randomized sinusoidal paths.

**Floating Elements Motif:**

The signature motif is **floating-elements** -- a persistent field of translucent geometric shapes that hover above the content layer. These are not random; they follow deliberate compositional rules:

- Between 12-20 floating elements are visible at any time, distributed across the viewport with density weighted toward the edges (fewer in the center where content lives).
- Each element is one of: a thin-stroke circle (24-48px diameter), a small equilateral triangle (16-32px side), a pair of parallel lines (20-40px length), or a single dot (6-10px).
- Colors are drawn from `Sage Dust` (#9BA88E), `Terracotta Slip` (#C47D5A), and `Beeswax` (#E8C98A) at 15-35% opacity.
- Movement: each element drifts on an independent sinusoidal path -- horizontal amplitude 20-60px, vertical amplitude 10-30px, period 8-16 seconds (randomized per element). The overall effect is a gentle, organic swaying, like watching motes of dust in a sunbeam.
- On hover within 100px radius of any floating element, it brightens to 60% opacity and its drift speed doubles for 0.5 seconds before returning to baseline. This micro-interaction creates a sense of the interface responding to presence without requiring direct clicks.

**Connecting Lines:**

Thin hairlines (0.5px stroke, `Dried Clay` at 20% opacity) occasionally connect floating elements to nearby content blocks, suggesting invisible threads of relationship. These lines use cubic bezier curves with gentle arcs, never straight segments. They appear and disappear with the scroll position, fading in over 300ms when their anchor points are both in the viewport and fading out when either exits.

## Prompts for Implementation

**Full-Screen Narrative Experience:**

The site opens to a full-viewport field of `Raw Linen` (#F5EDE1). For 0.4 seconds, nothing happens -- the visitor sits in warm emptiness. Then, from the exact center of the viewport, a single thin circle (stroke: 1px, color: `Dried Clay`) begins to draw itself, starting from the 12-o'clock position and completing its circumference over 1.2 seconds. As the circle completes, it slowly scales up from 40px to 120px diameter over another 0.8 seconds while simultaneously fading to 30% opacity. During this expansion, the domain name "ppuzzl.works" materializes letter-by-letter inside the circle in Commissioner Light at 2.5rem, each letter appearing with a 60ms stagger and a 10% vertical offset animation (sliding up 6px into its final position).

As the opening circle reaches its full expansion, 8-12 floating elements begin to drift in from the viewport edges over 2 seconds, each arriving from a random edge point and settling into its sinusoidal drift path. Simultaneously, the first magazine-spread section begins to resolve below: a large puzzle icon (80px) on the left draws its strokes in sequence (path-draw animation, 0.8s per stroke, 3 strokes staggered by 0.2s), while body text on the right fades in line-by-line with 100ms stagger, each line arriving from 8px below its final position.

**Scroll Behavior:**

- Each magazine-spread section is exactly 100vh. Scrolling is smooth but not snapped -- the visitor has full control of their scroll position. However, sections are designed to look complete at natural resting points.
- Icons within each spread trigger their path-draw animations when their containing section crosses the 30% viewport threshold (measured from top). Once drawn, icons remain static -- no looping, no reverse.
- Floating elements persist across all sections, maintaining continuity. Their drift patterns are seeded from scroll position, so scrolling to the same point always produces the same constellation.
- The background color shifts subtly between `Raw Linen` and `Kiln Wash` across sections, alternating every two spreads, with a 200px gradient transition zone between them.

**Micro-Interactions:**

The interaction model uses **micro-interactions** as its primary animation pattern:

- **Icon hover:** On mouseover, puzzle and process icons scale to 1.08x over 200ms (ease-out), their stroke color transitions from `Walnut Heartwood` to `Terracotta Slip` over 300ms, and a `Beeswax` glow shadow fades in (`box-shadow: 0 0 24px 4px rgba(232, 201, 138, 0.2)`) over 400ms. On mouseout, all properties return to baseline over 500ms (ease-in-out), intentionally slower than the hover-in to create a lingering warmth.
- **Text link hover:** Links do not use underlines. Instead, a small circle (6px diameter, `Terracotta Slip`) appears to the left of the link text, sliding in from 8px left over 200ms. The link text shifts right by 8px to accommodate the circle, and its color transitions from `Walnut Heartwood` to `Terracotta Slip`. On mouseout, the circle scales to 0 and the text slides back.
- **Floating element proximity:** As described in imagery -- elements within 100px of the cursor brighten and quicken. This interaction is implemented via `requestAnimationFrame` with distance calculations on every frame for smooth response.
- **Section label reveal:** Small-caps section labels (Commissioner SemiBold, 0.75rem) appear via a clip-path animation -- a horizontal line wipes from left to right over 600ms, revealing the text beneath. The clip-path uses `inset(0 100% 0 0)` transitioning to `inset(0 0 0 0)`.

**Storytelling Structure:**

The page tells a story in five acts, each occupying one magazine-spread:

1. **The Piece** -- A single puzzle icon, enormous (200px), floating alone. Minimal text. The message: everything begins as one element.
2. **The Pattern** -- Multiple icons arranged in a grid-like constellation, with connecting hairlines between them. The message: relationships emerge.
3. **The Process** -- Process icons animate their flows. Text describes methodology. The message: assembly requires patience.
4. **The Picture** -- All icons converge into a unified composition, floating elements tighten their orbits toward center. The message: the whole exceeds its parts.
5. **The Pause** -- Near-empty spread. One small icon. One line of text. Generous negative space. The message: completion is quiet.

**Critical Implementation Notes:**

- AVOID: CTA buttons with urgency language, pricing tables, feature comparison grids, testimonial carousels, stat counters, hamburger menus. None of these belong in the ethereal register.
- All animations must use CSS custom properties for timing values, allowing a single `--pace` variable (default: 1) to scale all animation durations simultaneously. Setting `--pace: 1.5` should make the entire site 50% slower, reinforcing the calm-serene tone.
- The floating elements system should be implemented in a single `<canvas>` overlay positioned `fixed` over the entire viewport, using `requestAnimationFrame` for smooth 60fps animation. Canvas `globalAlpha` handles opacity. Pointer events pass through via `pointer-events: none` on the canvas element.
- Icon SVGs should be embedded inline (not `<img>` tags) to enable CSS-driven stroke animations via `stroke-dasharray` and `stroke-dashoffset` transitions.
- The page should feel complete and intentional at every scroll position. There is no "below the fold" anxiety -- every viewport-height slice is a composed image.

## Uniqueness Notes

**Differentiators from other designs:**

1. **Commissioner as Unified Type System:** While Commissioner appears at only 2% frequency in the design corpus, no other design uses it as a complete typographic system spanning display, body, and accent roles through its variable weight axis. Most designs pair a display face with a body face; ppuzzl.works achieves visual unity through a single family, varying only weight, size, and letter-spacing. This creates a typographic atmosphere of coherence that multi-family systems cannot match.

2. **Floating Elements as Persistent Atmospheric Layer:** The floating geometric elements at 1% motif frequency are not decorative afterthoughts -- they constitute a persistent spatial environment that exists independent of content sections. Unlike particle effects (2%) which are typically confined to hero sections, or parallax elements which move only on scroll, the floating elements system operates on its own continuous timeline, creating a living atmosphere that the content inhabits rather than controls.

3. **Magazine-Spread Composition at Viewport Scale:** At 7% layout frequency, magazine-spread is underrepresented, and no existing design combines it with the specific alternating open/close spread rhythm described here. The 55/45 gutter offset, the deliberate avoidance of center-axis content, and the dissolve transitions between spreads create a reading experience modeled on physical print editorial design rather than web conventions.

4. **Icon-Heavy Communication Without Photography:** At 3% imagery frequency, icon-heavy is rare in the corpus, and combining it with the ethereal aesthetic creates a unique visual register. Most ethereal designs rely on photography (soft-focus, atmospheric shots) or gradient meshes. ppuzzl.works uses only geometric SVG icons and abstract floating shapes, proving that ethereal warmth can emerge from precision rather than blur.

5. **Calm-Serene Pace Variable:** The `--pace` CSS custom property that globally scales all animation timings is mechanically unique. No other design in the corpus offers a single variable that transforms the entire temporal experience of the site. This architectural decision makes the calm-serene tone not just an aesthetic choice but a tunable parameter embedded in the code itself.

**Chosen seed/style:** aesthetic: ethereal, layout: magazine-spread, typography: commissioner-versatile, palette: warm-earthy, patterns: micro-interactions, imagery: icon-heavy, motifs: floating-elements, tone: calm-serene

**Avoided patterns from frequency analysis:**
- Avoided `playful` aesthetic (95% frequency) in favor of `ethereal` (6%)
- Avoided `centered` layout (99%) in favor of `magazine-spread` (7%)
- Avoided `mono` typography (99%) in favor of `commissioner-versatile` (2%)
- Avoided `warm` generic palette (100%) in favor of specific `warm-earthy` (2%)
- Avoided `scroll-triggered` patterns (96%) as primary pattern in favor of `micro-interactions` (7%)
- Avoided `minimal` imagery (94%) in favor of `icon-heavy` (3%)
- Avoided `vintage` motifs (87%) in favor of `floating-elements` (1%)
- Avoided `friendly` tone (98%) in favor of `calm-serene` (4%)
<!-- DESIGN STAMP
  timestamp: 2026-03-10T22:40:30
  domain: ppuzzl.works
  seed: seed
  aesthetic: ppuzzl.works inhabits the visual space of a puzzle box dissolving in morning mis...
  content_hash: 700cd79cae4e
-->
