# Design Language for ppzz.ee

## Aesthetics and Tone

ppzz.ee is a **celestial shrine for the still moment** — the visual language of a fairycore altar assembled at 3am by someone who collects pressed stars, silver ink, and the particular silence that lives between one thought and the next. The aesthetic occupies the precise overlap of **fairycore softness** and **zen-contemplative restraint**: not the frilly, overflowing meadow variant of fairycore, but its quieter, more esoteric twin — moonlight through gauze, a single candle, ink wash on vellum.

The tone is **unhurried and interior**. There is no call to action. There is no urgency. The visitor arrives, pauses, and something inside them slows down. ppzz.ee presents itself as a meditative artifact — a digital zine that exists mostly to be looked at, to be felt, not to be used. The emotional temperature is cool-silver-lavender: not cold, but clear.

Visual inspiration: the negative space in a Japanese folding screen, silver-gilt illuminated manuscript margins, the trail a finger leaves in condensation on a winter window, old astronomical charts where stars have names like prayers.

The color system is a strict **duotone** — two anchor tones and their blended midpoints, with no warm colors permitted. Deep astral violet (`#1a0d2e`) and silver-fog white (`#e8e4f0`) are the twin poles. Everything between is a gradient of lavender, pale lilac, and mercury. A single accent — fine-line gold (`#c9b78a`) — appears only for celestial symbol strokes and is never used as fill.

## Layout Motifs and Structure

The layout is **broken-grid as sacred geometry** — not as aggressive asymmetry or brutalist disruption, but as a deliberate departure from the tyranny of alignment, the way brushstrokes in sumi-e deliberately miss the grid they imply.

**Global composition principle:** Three-column implicit grid (33 / 33 / 33) that every section partially ignores. Text blocks drift left by 12vw, icons float at unexpected coordinates anchored by `position: absolute` with `clamp()`-driven offsets, section dividers are diagonal SVG lines at 7–11 degrees rather than horizontal rules.

**Section structure (single vertical scroll, no anchor nav):**

**Zone 1 — The Arrival (100vh):**
Full-viewport silence. Dead center: the wordmark `ppzz` in Cormorant Garamond weight 300, letter-spacing 0.35em, 7.2rem, color `#e8e4f0`. Below it, a single em-dash, then a 2-line koan-like phrase in 0.9rem weight 300 italic, color `#9b8fbf`. Around it, floating at slow drift: 7–9 SVG star glyphs (☆ variants) placed at irrational coordinates — never in a circle, never in a line. They breathe at 0.6x different speeds via independent `animation-duration` values (11s, 17s, 23s — prime numbers for aperiodic drift).

**Zone 2 — The Icon Field (auto height):**
A broken-grid arrangement of 12–16 hand-crafted SVG celestial icons (described below in Imagery), each placed on a 7-column × 4-row implicit grid but offset by `translateX(--drift)` and `translateY(--float)` CSS custom properties that vary per icon. Icons have tooltip-like captions in mono text that appear on hover via `underline-draw` animation. No prose here — only icons, their names, and silence.

**Zone 3 — The Contemplation Passage (auto height):**
Long-form text in two irregular columns that share a gutter of 8vw. The left column is wider (55%) and holds the main prose. The right column (30%) holds marginalia: short fragments, single lines of italic serif, dates, star coordinates in the style of `α Lyr 18h 36m`. Text blocks are vertically offset — the right column begins 140px lower than the left. A thin diagonal SVG line (stroke `#9b8fbf`, opacity 0.3, weight 0.5px) crosses the zone from bottom-left to upper-right at 9 degrees.

**Zone 4 — The Closing Symbol (60vh):**
A single large SVG celestial mandala (28vw diameter) centered in the viewport. Around it, in a slow 40-second rotation (CSS `animation: rotate linear infinite`), a ring of 12 tiny SVG star-points at `r=14vw`. Below the mandala, the domain in letter-spaced caps at 0.8rem, weight 200.

## Typography and Palette

**Typography (Google Fonts only — classical serif throughout, broken by a single mono accent):**

- **Primary display — `Cormorant Garamond`** (variable, wght 300–700): The foundational voice of the site. Used for the wordmark at weight 300, size `clamp(4rem, 9vw, 7.2rem)`, letter-spacing `0.35em`. Also used for all section headings at weight 400, `clamp(1.6rem, 3.2vw, 2.8rem)`. The classical proportion of Cormorant creates gravitas without heaviness — its long descenders mirror the trailing tails of calligraphy brushstrokes.

- **Body running text — `EB Garamond`** (variable, wght 400–500): For all prose passages. Size `clamp(1rem, 1.15vw, 1.15rem)`, line-height 1.85, color `#c4bdd8`. EB Garamond's slightly rougher texture compared to Cormorant creates a subtle dual-serif system where display and body feel like different manuscripts from the same scriptorium.

- **Monospace accent — `JetBrains Mono`** (wght 300): Used ONLY for icon captions, star coordinates, and metadata fragments. Size `0.72rem`, letter-spacing `0.12em`, color `#9b8fbf`. This is the single typographic disruption — a reminder that the shrine lives on a machine.

**Palette (strict duotone + gold thread):**

- `#1a0d2e` — Astral Void (background, deepest darks)
- `#e8e4f0` — Silver Fog (primary text, wordmark)
- `#9b8fbf` — Lavender Dusk (secondary text, captions, icon strokes at default state)
- `#c4bdd8` — Pale Mercury (body prose, slightly warmer than Silver Fog)
- `#2e1a4a` — Midnight Violet (section backgrounds, alternating zones)
- `#c9b78a` — Celestial Gold Thread (star glyph strokes only — never fill, never background)
- `#3d2e5e` — Deep Indigo (hover states, subtle card backgrounds)

All colors strictly violet-silver-indigo family. No warm hues in body elements. The gold is a hairline accent only.

## Imagery and Motifs

**No photography. No raster images. No gradients used as decorative fills.** All visual matter is drawn from two motif families:

**1. Celestial Icons (the dominant visual language — icon-heavy).**
12–16 unique SVG icons, each approximately 64×64px at base size, drawn in single-stroke style with `stroke-width: 1` and no fill (transparent interiors). The icon vocabulary:

- `☽` — Crescent with a thin inner arc (two concentric curves, open left)
- `✦` — Four-pointed star with long vertical axis, short horizontal axis
- `⊕` — Circle with crosshairs (astronomical symbol for Earth/center)
- `⌖` — Target/scope reticle (four L-shaped corners around a center dot)
- `◈` — Diamond within diamond, rotated 45°, with four small corner marks
- `⟡` — Elongated hexagon with a center vertical line
- `∞` — Lemniscate drawn as a continuous single SVG path
- `⏾` — Half-moon phase symbol (circle, filled half)
- `△` — Equilateral triangle with interior meditation line at 1/3 height
- `⌇` — Vertical wavy line (breath, signal)
- `☽✦` — Combined crescent + four-point star (compound glyph)
- `⊗` — Circle with X (excluded, the void)

Each icon has a `data-name` attribute used by the hover tooltip system. On hover: the icon stroke transitions from `#9b8fbf` to `#c9b78a` (Celestial Gold Thread) over 0.4s, and a caption label appears below via `underline-draw` — a fine line extends left-to-right beneath the mono-text caption (SVG `stroke-dasharray / stroke-dashoffset` animation, 0.5s ease-out).

**2. Star-Celestial Background Motifs.**
Behind Zone 1 and Zone 4: a field of tiny SVG dots (`r=1px`, color `#c9b78a`, opacity 0.25–0.6) placed at pseudo-random coordinates using a seeded distribution — approximately 140 points across the full viewport. They are not animated individually; they exist as a static sky. Overlaid on the star field: 2–3 invisible SVG constellation lines (thin dashes, `stroke-dasharray: 3 8`, opacity 0.15) connecting nearby stars — present but unobtrusive, only visible on close inspection.

**Forbidden:** stock photos, emoji, flat color fills for icons, rounded-rectangle cards, any warm color imagery.

## Prompts for Implementation

Build ppzz.ee as **a celestial meditation object** — a single scrollable page that behaves like entering a quiet room where someone has arranged star-charts and silence. The visitor is not a user; they are a contemplator. There is nothing to do here except look and feel.

**Implementation mandates:**

**1. The Arrival Zone (`#zone-arrival`):**
- `background: #1a0d2e`, full 100vh, no overflow
- Star-field: 140 SVG circles, `r=1`, coordinates generated via a simple seeded LCG in inline `<script>` on load, placed in a `<svg>` absolutely positioned `inset: 0`, `width: 100%`, `height: 100%`, `pointer-events: none`
- 2–3 constellation line segments connecting nearby stars, `stroke: #c9b78a`, `stroke-dasharray: 2 8`, `opacity: 0.12`
- Wordmark `ppzz`: `font-family: 'Cormorant Garamond', serif`, weight 300, size `7.2rem`, letter-spacing `0.35em`, color `#e8e4f0`, absolutely centered with `position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)`
- Below wordmark at `margin-top: 2.4rem`: em-dash `—` then `"the space between two thoughts"` in Cormorant Garamond italic weight 300, 0.95rem, color `#9b8fbf`
- 8 floating star glyphs: `✦` in SVG, `width: 14px`, `stroke: #c9b78a`, no fill, positioned at coordinates like `(7vw, 23vh)`, `(83vw, 61vh)`, `(44vw, 11vh)`, `(19vw, 79vh)`, `(71vw, 33vh)`, `(58vw, 87vh)`, `(31vw, 47vh)`, `(89vw, 17vh)`. Each has `animation: floatStar Xs ease-in-out infinite alternate` where X cycles through 11, 13, 17, 19, 23, 29, 31, 37 (primes) for aperiodic drift. `translateY` oscillates ±8px.

**2. The Icon Field (`#zone-icons`):**
- `background: #1a0d2e`, padding `8vh 0`
- 12 icons arranged in a 4×3 invisible grid with base cell size `25vw × 30vh`
- Each icon placed with additional `transform: translate(var(--dx), var(--dy))` where `--dx` and `--dy` are unique per icon (e.g. `--dx: -3vw; --dy: 2vh`). This creates the broken-grid drift.
- SVG icons, `width: 52px height: 52px`, `viewBox: 0 0 52 52`, `stroke: #9b8fbf`, `stroke-width: 1`, `fill: none`, `stroke-linecap: round`
- On hover: `stroke` transitions to `#c9b78a`, `transition: stroke 0.4s ease`
- Underline-draw caption: `<span class="icon-label">` below each icon in JetBrains Mono 0.72rem, `#9b8fbf`. The label has `::after` pseudo-element with `content: ''`, `display: block`, `height: 1px`, `background: #c9b78a`, `width: 0`, `transition: width 0.5s ease-out`. On parent hover: `width: 100%`.

**3. The Contemplation Passage (`#zone-prose`):**
- `background: #2e1a4a`, padding `12vh 0`
- Two-column layout: `display: grid; grid-template-columns: 55fr 30fr; gap: 8vw; padding: 0 10vw`
- Right column has `padding-top: 140px` to offset it downward
- Left column: EB Garamond 1.1rem, line-height 1.85, color `#c4bdd8`
- Right column (marginalia): EB Garamond italic 0.88rem, line-height 1.6, color `#9b8fbf`; interspersed with JetBrains Mono fragments in `#c9b78a` at 0.7rem for coordinates like `α Lyr 18h 36m`
- Diagonal SVG line crossing the section: `<svg style="position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible"><line x1="0%" y1="95%" x2="100%" y2="5%" stroke="#9b8fbf" stroke-width="0.5" opacity="0.25" stroke-dasharray="4 12"/></svg>`
- Text appears via `fade-reveal`: sections use `IntersectionObserver`, on 60% entry: `opacity: 0 → 1`, `translateY: 20px → 0`, duration 0.9s ease-out. No stagger between these and the icon zone — fade-reveal is a single gentle entry per section.

**4. The Closing Symbol (`#zone-close`):**
- `background: #1a0d2e`, height `60vh`, `display: flex; align-items: center; justify-content: center; flex-direction: column`
- Central SVG mandala: 28vw × 28vw, constructed from: outer circle `r=48%` (`stroke: #9b8fbf`, `stroke-width: 0.5`), inner circle `r=32%` same stroke, 8 radial spokes from center to outer circle at 45° intervals (`stroke: #c9b78a`, `stroke-width: 0.5`, `opacity: 0.5`), 4-pointed large star centered
- Rotating ring: a `<g id="star-ring">` containing 12 `✦` glyphs placed at radius 14vw, each at 30° intervals, `font-size: 8px`, `fill: #c9b78a`, `opacity: 0.7`. The group has `animation: rotateSky 40s linear infinite`
- Below mandala at `margin-top: 4vh`: `ppzz.ee` in Cormorant Garamond weight 200, 0.85rem, letter-spacing `0.28em`, color `#9b8fbf`, all caps via CSS `text-transform: uppercase`

**5. Animation definitions:**
```css
@keyframes floatStar { from { transform: translateY(0); } to { transform: translateY(-8px); } }
@keyframes rotateSky { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
```

**6. Typography loading:**
```html
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=JetBrains+Mono:wght@300&display=swap" rel="stylesheet">
```

**AVOID in implementation:**
- Any CTA buttons or action elements
- Pricing tables, stat counters, testimonial grids
- Warm color fills (no orange, red, yellow, beige backgrounds)
- Rounded-rectangle cards with box-shadow
- Navigation bars with multiple links
- Footer with social icons grid
- Stagger entrance animations (each element animating sequentially — use single zone fade-reveal only)
- Scroll-triggered reveals on every single element (only per-zone, not per-element)

## Uniqueness Notes

**3 differentiators from the existing corpus:**

1. **Fairycore as contemplative void, not pastoral maximalism.** The corpus entry for fairycore (1% frequency) and the rare cottagecore entries treat the aesthetic as floral abundance. ppzz.ee inverts this: fairycore reduced to its most austere, monastic register — a single-color star on a void, negative space as the primary element, no flowers, no warmth, no abundance. This is fairycore as found in a darkened observatory library.

2. **Duotone palette used as discipline rather than effect.** Other duotone entries in the corpus (11%) use it as a photographic treatment or as gradient decoration. ppzz.ee uses the strict two-anchor duotone as a constitutional constraint: every pixel on the page is a mixture of `#1a0d2e` and `#e8e4f0` with only lavender midtones as intermediate values. Gold appears as a hairline rule only — never filling a shape. This is an unprecedented strictness in the corpus.

3. **Broken-grid as sacred geometry rather than aggressive disruption.** The corpus uses broken-grid (7%) primarily in neubrutalist or editorial contexts — asymmetry as attitude. ppzz.ee uses grid-breaking as spiritual practice: the slight drift of each icon, the offset of the marginalia column, the diagonal SVG rule crossing the prose — all create a layout that never quite aligns, like the imprecise beauty of handwritten astronomical tables. No other corpus entry pairs broken-grid with zen-contemplative tone.

**Chosen seed:** aesthetic: fairycore, layout: broken-grid, typography: serif-classic, palette: duotone, patterns: underline-draw, imagery: icon-heavy, motifs: star-celestial, tone: zen-contemplative

**Avoided patterns from frequency analysis:**
- `stagger` (51% — most overused pattern): replaced by per-zone fade-reveal only
- `scroll-triggered` (34% — second most overused): used only at zone level, never per-element
- `hand-drawn` aesthetic (58%): SVG icons are geometric/stroke-based, not sketchy/organic
- `warm` palette (88%): strictly prohibited in all backgrounds and fills
- `gradient` fills (77%): no gradient decorations; duotone constraint forbids gradient-as-art
- `editorial` aesthetic (53%): the site is contemplative, not content-publishing in register
<!-- DESIGN STAMP
  timestamp: 2026-05-10T13:00:58
  seed: seed:
  aesthetic: ppzz.ee is a **celestial shrine for the still moment** — the visual language of ...
  content_hash: 2f3993510416
-->
