# Design Language for heisei.day

## Aesthetics and Tone

heisei.day is **a faded undersea archive of the Heisei era (1989–2019) — a digital tide-pool where the thirty-one years between two emperors have sunk to the seafloor and gone the colour of old photographs.** The conceit holds two opposing aesthetics in a single frame and refuses to resolve them: the **seapunk** vocabulary of the early-2010s internet (cyan dolphin waves, hyper-saturated ocean GIF loops, the ⌐◨-◨ optimism of a generation that thought the future would be teal and chrome) is dredged up, salt-corroded, and re-printed in **sepia-nostalgic** tones — as if a Geocities ocean-scene had been left in a drawer for two decades until the cyan oxidised to amber and the chrome went the brown of a 1991 family album. This is seapunk *after the era ended* — a movement aesthetic embalmed in nostalgia for the very era that produced it.

The tone is **authoritative** — not playful, not ironic, despite the seapunk source material. heisei.day speaks the way a museum wall-text speaks, or the way a public-broadcaster retrospective speaks on a New Year's broadcast: measured, declarative, slightly elegiac, certain of the dates. It is the voice that says "The Heisei era began on 8 January 1989 and ended on 30 April 2019" as a matter of record, then lets the sunken-ocean imagery carry the feeling underneath. The visitor should feel they have descended into a quiet, pressurised place — an archive that is also a wreck — where every artifact is labelled, dated, and gently encrusted. Authority delivered from the seafloor. Confidence with the lights low and the water heavy.

Mood words: pressurised, embalmed, tidal, oxidised, archival, elegiac-but-certain. Think NHK's *Yuku Toshi Kuru Toshi* end-of-year broadcast reflected in a flooded aquarium. Think a CD-ROM encyclopedia of the 1990s recovered from a shipwreck. Think the exact moment cyan becomes amber.

## Layout Motifs and Structure

The page is a **masonry** layout (8% of the corpus — among the rarer structural choices) — but a *deliberate, archival* masonry, not a Pinterest free-for-all. The metaphor is **a wall of museum vitrines of unequal height, stacked the way salvage crates stack on a recovery-vessel deck**: each item (a year, an event, a fragment of the era) is its own cabinet, and the cabinets tile into columns by their natural content height, leaving the ragged bottom edge that masonry produces — read here as *sediment*, as the uneven floor of a settled wreck.

**The descent.** The document reads top-to-bottom as a *dive*: a full-bleed surface band at the top (bright-ish, the most cyan-leaning the palette ever gets), then the masonry wall begins and the palette darkens and warms with each scroll-depth — a CSS-driven gradient on the page background that runs from a pale sea-foam sepia at the top (`#E8DCC8`) down through amber-brown to a near-black abyssal brown (`#1C140C`) at the footer. Scroll position *is* depth. A thin fixed "depth gauge" rail on the left margin — a vertical hairline in `#3A6B6B` with tick marks and the years 1989…2019 mapped along it — tracks where the visitor is in the dive.

**The vitrine grid.** Three columns on wide screens (each ~360px, gutters 32px), two on tablet, one on phone. Cards never have uniform height — content dictates it. Card widths are fixed; only height varies; that is the whole point of choosing masonry. Each vitrine is bordered by a 1px **grid-lines** frame (the grid-lines motif appears in only ~2% of the corpus) in a dim teal `#3A6B6B`, with a subtle inner double-rule like an old certificate. Cards carry a small monospaced catalogue number in the top-right (e.g. `HEI–1995–017`) and a date stamp.

**Marginalia.** The wide left margin (where the depth gauge lives) and occasional full-width "stratum" bands between masonry sections (a single horizontal rule of encrusted texture with an era-name label like "後期 / late Heisei") break the grid and give the eye a horizon line in the murk. No hero CTA. No pricing. No stat-grid. No "features" row. The masonry wall *is* the content; the page ends at the abyss with a quiet colophon.

## Typography and Palette

**Fonts — Google Fonts only, verified available.**

- **Spectral** (weights 300, 400, 500, 600; plus *Spectral SC* small-caps) — the **serif-revival** voice (serif-revival is ~5% of the corpus — uncommon). Spectral is Production Type's screen-first serif: a calm, slightly old-style transitional face with generous spacing and a literary, almost encyclopedic temperament. It carries all body text, the museum-label copy, and the long datelines. Spectral SC handles the era-name straplines and the depth-gauge year markers — small-caps reading as inscription, as the lettering on a bronze plaque bolted to a hull.
- **Cormorant Garamond** (weights 400, 500, 600; italic available) — used *only* for the giant display numerals: the year "1989", the year "2019", section years set at 96–180px. Cormorant's high-contrast, very-fine-hairline Garamond revival, blown up large, reads as engraved, fragile, slightly aristocratic — the way a date looks on a memorial. At display sizes its thin strokes look like they could be eroded by water; we lean into that.
- **JetBrains Mono** (weight 400, 500) — the **mono** utility voice: catalogue numbers (`HEI–2011–003`), the depth-gauge tick labels, timestamps, the colophon. Mono here = ledger, accession register, the dry machine-hand of an archive's database. Never used for headlines.

Type rules: body 17–19px Spectral 400, line-height 1.7, measure capped at ~64ch inside vitrines. Display numerals are *the only* large type — there are no big sans headlines anywhere. Letter-spacing +0.12em on all Spectral SC straplines and mono labels.

**Palette — "the cyan that turned to amber."** Eight colours, sepia-nostalgic (sepia-nostalgic is ~4% of the corpus — rare). The trick: every hue is a *desaturated, browned* version of a seapunk colour.

- `#1C140C` — **Abyssal Umber.** The deepest page-background colour at maximum scroll depth; near-black with a brown undertone. The bottom of the dive.
- `#2E2316` — **Wreck Brown.** Footer and deepest vitrine fills; the brown of a waterlogged CD-ROM jewel case.
- `#5A4A33` — **Tarnished Sepia.** Mid-depth backgrounds, card borders' shadow side, the "stratum" band texture.
- `#8A7553` — **Old-Photo Amber.** The dominant mid-tone; body text on dark cards, encrusted rule lines, the warm wash over imagery.
- `#C9B48E` — **Faded Foam.** Body text on dark, secondary backgrounds in upper vitrines.
- `#E8DCC8` — **Surface Parchment.** The top-of-page background; the palest, "shallowest" colour; card fills near the surface; primary text on dark.
- `#3A6B6B` — **Oxidised Teal.** The single surviving trace of seapunk cyan — muted, grayed, the colour of verdigris on a sunken bronze. Used *sparingly*: the depth-gauge rail, grid-line frames, link underlines, the dolphin-wave SVGs. It is the ghost of the original aesthetic.
- `#B0654A` — **Rust Coral.** The one warm accent — corroded-iron orange-red. Active states, the "now" marker on the depth gauge, the period after a dateline. Used like a drop of rust bleeding through paint.

Contrast pairs: Surface Parchment `#E8DCC8` on Abyssal Umber `#1C140C`; Old-Photo Amber `#8A7553` headings on Surface Parchment in the shallow zone; Oxidised Teal `#3A6B6B` strictly for lines and the rare link, never large text fills.

## Imagery and Motifs

**No photography. No stock textures. No icon library. No Lottie. No 3D render.** Photography is 99% of the corpus; heisei.day carries **generative-art** imagery (~6% — uncommon) and the **grid-lines** motif (~2% — rare). Every visual is hand-built SVG or `<canvas>` generative work, all rendered in the sepia palette.

**1. The Oxidised Dolphin-Wave (seapunk, embalmed).** The single most loaded seapunk signifier — the leaping-dolphin-over-curling-wave — appears exactly *once*, in the full-bleed surface band at the very top: a slow, looping inline-SVG animation of two stylised wave curls and one dolphin silhouette, drawn in `#3A6B6B` Oxidised Teal at low opacity over Surface Parchment, with a 1px sepia "scanline/dither" overlay so it reads as a corroded GIF, not a fresh vector. As the visitor scrolls past, it fades to nothing — the surface receding. It never returns; the era is below.

**2. Generative sediment / encrustation.** Each "stratum" divider band and the page's deep-background texture is a `<canvas>` field of slow Perlin-noise-driven particles — fine grain that drifts downward like marine snow and settles, accreting denser toward the bottom of the page (toward the abyss). Particles are 1–2px, coloured from `#8A7553`→`#5A4A33`, opacity ≤ 0.18. It must read as *settling sediment in still water*, never as a busy particle toy. Respect `prefers-reduced-motion` by freezing it as a static field.

**3. The depth-gauge rail.** A fixed left-margin vertical hairline in Oxidised Teal with 31 tick marks (one per Heisei year). Major ticks at era-thirds carry Spectral-SC year labels (1989, 2000, 2010, 2019). The current scroll position is marked by a small Rust Coral `#B0654A` filled triangle that slides as you dive. This is the only persistent UI element.

**4. Vitrine frames (grid-lines motif).** Every masonry card is wrapped in a precise 1px outer rule plus an inset 1px rule 4px in — the double-frame of a museum label or an old stock certificate — in `#3A6B6B` over the card's sepia fill. Corners get a tiny 6px right-angle "bracket" tick, like registration marks on a print proof. Catalogue numbers (`HEI–YYYY–NNN`) sit in JetBrains Mono in the top-right inside the inner rule.

**5. Generative "artifact plates."** Where a vitrine would, in a normal site, show a photo, heisei.day shows a small generated SVG glyph that abstractly represents the era-fragment — e.g. a flat geometric pictogram (a Tamagotchi-egg outline, a flip-phone rectangle, a low-poly Pokémon-ball circle, a CD ring, a torii) rendered as a single-weight line drawing in Old-Photo Amber on the card fill, all in one consistent ~2px stroke vocabulary so they read as a *set*. Generated/parameterised, never clip-art.

**6. The browning gradient.** Not an image per se but the central visual device: the `body`/scroll-container background is a fixed vertical gradient `#E8DCC8 → #C9B48E → #8A7553 → #5A4A33 → #2E2316 → #1C140C` keyed to scroll depth, so descending the page literally darkens the water. Everything else is layered over this.

## Prompts for Implementation

Build heisei.day as **one HTML document, one CSS file, one ES module, one inline SVG sprite (dolphin-wave loop + the era-thirds bracket ticks + the set of ~8 artifact-plate glyphs), one `<canvas>` for the sediment field, and one favicon SVG (a single Rust Coral triangle descending a teal hairline)**. No framework. No bundler. No raster images. No WebGL. No video. No analytics. No service worker. No router. The page is **a dive into an archive: rendered once, read top-to-bottom as a descent, like sinking through thirty-one years of water.**

**Document skeleton:**

```
<body>                          <!-- fixed scroll-depth gradient background -->
  <canvas id="sediment">         <!-- generative marine-snow, accretes downward -->
  <aside class="depth-gauge">    <!-- fixed left rail, 31 ticks, sliding coral marker -->
  <header class="surface">       <!-- full-bleed: oxidised dolphin-wave SVG, fades on scroll -->
     <h1>平成 / heisei.day</h1>   <!-- Spectral SC + Cormorant Garamond display "1989–2019" -->
     <p class="lede">…authoritative one-paragraph wall-text…</p>
  </header>
  <main class="wall">            <!-- the masonry: CSS columns or grid-masonry -->
     <section class="stratum" data-era="前期">  <!-- early-Heisei divider band -->
     <article class="vitrine">…</article>       <!-- variable-height cabinet, double-rule frame -->
     <article class="vitrine vitrine--wide">…   <!-- occasional 2-col-span cabinet -->
     …
     <section class="stratum" data-era="後期">  <!-- late-Heisei divider band -->
     …
  </main>
  <footer class="abyss">         <!-- Wreck Brown, mono colophon, "30 April 2019" -->
</body>
```

**Layout / CSS:**
- Masonry via CSS `columns` (column-width: 360px; column-gap: 32px) with `break-inside: avoid` on `.vitrine`, OR native `grid-template-rows: masonry` behind an `@supports` with the columns fallback. Cards keep `width:100%` of their column; height is purely content-driven — *never* set a fixed card height.
- Page background: `background: linear-gradient(#E8DCC8, #C9B48E 18%, #8A7553 45%, #5A4A33 70%, #2E2316 88%, #1C140C);` on a tall scroll container, `background-attachment: fixed` so it reads as a static water-column you fall through. Text colour of cards/sections shifts (`color-mix` or explicit per-zone classes) so contrast holds at every depth.
- `.vitrine`: 1px solid `#3A6B6B` outer; `box-shadow: inset 0 0 0 4px transparent, inset 0 0 0 5px #3A6B6B` for the inset rule; 6px corner brackets via small absolutely-positioned `::before/::after` L-shapes. Catalogue no. and date in JetBrains Mono 12px, letter-spacing .12em, `#8A7553`.
- `.stratum`: full-width band, ~80px tall, Tarnished Sepia with a faint generated noise texture, centered Spectral SC era-name label (`前期 / early Heisei`) in `#C9B48E`.
- Depth gauge: `position: fixed; left: 24px; top:0; bottom:0;` a 1px `#3A6B6B` line; 31 tick `<span>`s positioned by percentage; the coral marker (`#B0654A` 8px triangle) translated to `scrollY / scrollHeight`.
- Typography per the section above; display numerals (Cormorant Garamond) are the ONLY large type.

**Animation & JS (vanilla ES module):**
- **The descent.** `IntersectionObserver` reveals each `.vitrine` with the **hover-lift** family of motion (hover-lift is ~14% of the corpus): on first appearance, a card rises 16px and fades from 0→1 over ~480ms `cubic-bezier(.2,.7,.3,1)`, staggered ~60ms down each column; on pointer hover it lifts a further 4px with a soft sepia drop-shadow and the teal frame brightens to `#4E8585`. Subtle, archival — a crate being lifted, set down.
- **Surface recession.** On scroll, the `header.surface` and its dolphin-wave SVG translate up slightly and fade to opacity 0 by the time the first stratum reaches the top — a gentle parallax of leaving the surface behind.
- **Sediment canvas.** ~200–400 particles, slow downward drift (vy ~0.2–0.6 px/frame), x jitter via cheap value-noise, density and opacity scaled by `scrollY` so it thickens as you go deeper; particles that exit the bottom respawn at the top. Cap to 30fps; on `prefers-reduced-motion`, render one static frame and stop.
- **Depth-gauge marker.** Updates on scroll (rAF-throttled); when a `.vitrine` with a year is centered, the matching year tick on the rail brightens to `#B0654A` for ~1s — "you are here, in 1997."
- **Dolphin-wave loop.** Pure SVG `<animateTransform>`/CSS keyframes — two wave paths translating in a slow sine, the dolphin arc tracing a shallow parabola every ~7s, the whole thing under a 1px sepia dither `<pattern>` overlay so it reads as a decayed GIF.
- No counters, no typewriter, no card-flip, no cursor-follow trails, no magnetic buttons. The motion vocabulary is: rise-and-settle, fade, slow drift, the sliding depth marker. Everything moves like it is underwater.

**Tone of copy:** authoritative museum wall-text. Datelines first, declarative sentences, the occasional Japanese era-term set in Spectral SC. End each vitrine's text on a Rust-Coral full stop. The page never says "explore" or "discover" or "sign up" — it *states*, and lets the sunken water carry the elegy.

**AVOID:** CTA-heavy layouts, pricing blocks, stat-grids, "features" rows, sliders/carousels, hero buttons, testimonial cards, glassmorphism panels, neon glow, drop-cap gimmicks, light/cheerful seapunk (the cyan is *dead*, browned, a ghost — never bright).

## Uniqueness Notes

This design's deliberate departures from the 240 designs already in the registry, and from the seed's defaults:

1. **Seapunk embalmed in sepia — a movement aesthetic mourning the era that made it.** Seapunk is ~3% of the corpus and, where it appears, it is *bright*: cyan, chrome, hyper-saturated ocean GIFs. heisei.day takes the entire seapunk vocabulary (dolphin-wave, ocean-loop, ⌐◨-◨ optimism) and drowns it in a sepia-nostalgic palette (~4% of the corpus) — the cyan oxidised to verdigris teal `#3A6B6B`, the chrome browned to `#8A7553`. The result is unlike any other entry: a "future-nostalgia" aesthetic that has itself become a historical artifact. Two rare aesthetics fused into a third thing nobody in the registry has.

2. **Scroll = depth = the browning of time.** The page's central device — a fixed scroll-column gradient running parchment→amber→abyssal-umber, with a 31-tick "depth gauge" mapping the 31 Heisei years down the left margin and a generative marine-snow canvas that accretes denser as you descend — turns the act of scrolling into a literal dive through a flooded archive. No other registry design uses vertical scroll as *water depth* tied to a historical timeline.

3. **Masonry as museum-vitrine salvage, not Pinterest.** Masonry is ~8% of the corpus and almost always reads as casual image-tiling. Here every variable-height card is a double-ruled "vitrine" with a catalogue number (`HEI–YYYY–NNN`), corner registration brackets, and a generated single-weight SVG "artifact plate" instead of a photo — the ragged masonry bottom edge re-read as *sediment on the wreck floor*. Disciplined, archival, dated.

4. **Authoritative tone over playful source material.** Despite seapunk's inherently goofy/ironic origins, the voice is the **authoritative** register (~7% of the corpus) — NHK New-Year-broadcast gravitas, museum wall-text certainty, datelines and declarative sentences ending on a Rust-Coral full stop. The tension between solemn voice and sunken-GIF imagery is the whole point.

5. **Zero photography, zero raster, zero framework — all hand-rolled generative SVG/canvas in eight browned hues.** Against a corpus that is 99% photography, every visual here is parameterised: the looping dithered dolphin-wave SVG, the Perlin sediment field, the 8-glyph artifact-plate set, the grid-lines vitrine frames. One HTML file, one CSS file, one ES module.

**Chosen seed:** aesthetic: seapunk · layout: masonry · typography: serif-revival · palette: sepia-nostalgic · patterns: hover-lift · imagery: generative-art · motifs: grid-lines · tone: authoritative.

**Avoided per frequency analysis:** photography (99% — replaced with generative SVG/canvas), card-grid/centered/full-bleed default skeletons (replaced with masonry-vitrine + scroll-as-dive), warm+gradient generic palette (replaced with the specific browned-seapunk eight), parallax/cursor-follow/spring/stagger/magnetic over-used pattern stack (using only hover-lift rise-and-settle, fade, slow drift, depth-marker slide), mono/humanist/handwritten over-used type stack (Spectral serif-revival body + Cormorant Garamond display numerals, mono confined to catalogue numbers), and the loud-bright reading of seapunk (here it is dead, oxidised, a ghost).
<!-- DESIGN STAMP
  timestamp: 2026-05-10T12:58:17
  domain: heisei.day
  seed: seed:
  aesthetic: heisei.day is **a faded undersea archive of the Heisei era (1989–2019) — a digit...
  content_hash: ab41274b968b
-->
