# Design Language for haru.news

## Aesthetics and Tone

haru.news is **a Bauhaus preparatory-course wallchart that learned to broadcast** — a Dessau workshop bulletin board reimagined as a daily ideas dispatch. The domain word *haru* (春 — spring, the season of beginnings) is read as **the morning the press starts up**: the page is the first proof pulled off a hand-press at dawn, while the ink is still cold and the registration marks still show. The `.news` suffix is taken at face value but stripped of every newsroom cliché — no breaking-news banners, no ticker, no "trending now" rail, no comment threads. Instead, the page behaves like the *teaching wallchart* the Bauhaus masters pinned outside the Vorkurs studio: a flat composition of primary forms — circle, square, triangle — each one carrying a single dispatch, each one annotated in the deadpan, demonstrative voice of a master explaining color theory to first-years.

The tone is **tech-tutorial** (a 3% slot in the corpus, deliberately rare): every dispatch on haru.news is framed as a *small lesson*. Headlines read like the opening line of a workshop exercise — "Exercise 04: How a single idea propagates through a network in under one second." Body copy is numbered, stepwise, and unhurried; it explains *how* a thing works before it tells you *that* it happened. The mood is **calm, instructive, and faintly utopian** — the Bauhaus belief that good form, clearly demonstrated, makes the world legible. Nothing here shouts. The page is a quiet drafting table where ideas are pinned, measured, and explained — then the next day, taken down and replaced. There is exactly one moment of motion-as-delight in the whole site: each new dispatch *drops in* like a wooden block set onto a tabletop — a single firm bounce, then perfect stillness. That bounce is the page's signature, the only place where the strict geometry permits itself a breath.

## Layout Motifs and Structure

The page is a **centered single-column composition** — the seed's `centered` constraint taken at full strength and reframed as **the wallchart pinned dead-center on the studio wall**. The content column is **a fixed 760px on desktop, dropping to fluid below 820px viewport**, and it is *truly* centered: equal margins left and right, no sidebar, no off-canvas drawer, no asymmetric pull. The centering is the point — Bauhaus pedagogy demanded that the demonstration object sit at the visual center so every student could read it from any seat in the room. Above and below the column run two **registration-mark rules**: thin (1px) horizontal lines with small crosshair `+` glyphs at each end, the way a litho proof is marked for plate alignment. These rules never move on scroll; they frame the column like the edges of a sheet of paper on a drawing board.

The column is built from **stacked dispatch-plates**, one per screen, separated by generous vertical white. Each plate is a **flat geometric composition built from exactly three primary shapes** — a large circle (the "idea"), a square (the "context"), a triangle (the "vector" — where the idea is heading). The three shapes are arranged on a **strict 12-column × 12-row modular grid** drawn faintly in the background of each plate (1px ocean-tinted grid lines at 8% opacity, like the gridded newsprint a typesetter works on). The circle is always the largest element and always sits on the grid's intersections, never floating freely; the square locks to a 4×4 module block; the triangle points along a grid diagonal. No shape ever overlaps another by more than 50% — Bauhaus composition prized *adjacency and tension*, not pile-up.

The dispatch text lives **inside and beside the shapes**: the headline runs along the top edge of the square, the lesson number sits centered in the circle, the body steps cascade down the right-hand grid columns in numbered blocks (1 → 2 → 3 → 4), and the triangle's hypotenuse acts as a pointing line toward the "what happens next" footnote. There is no hero image, no card grid, no bento box, no dashboard, no masonry. The masthead is a single line at the very top of the column — the word **haru.news** set in the serif display face, with a small filled circle (●) as the only ornament, plus today's date in mono. Navigation is **four tiny shape-glyphs in a row** under the masthead — ○ Today, □ Archive, △ Method, ● Colophon — never sticky, never re-skinned, never animated. The footer is one registration-mark rule and a single mono line: a build timestamp and the words "set by hand."

## Typography and Palette

**Fonts — Google Fonts only, two voices, intentional Bauhaus-vs-revival tension.**

- **Display & body serif — `Spectral` (variable, weights 200–800).** Spectral carries the **serif-revival** voice (a 5% slot in the corpus) for the entire site — and the pairing of a *humanist serif revival inside a strict Bauhaus geometric layout* is the design's central typographic argument. The Bauhaus masters famously rejected serifs in favor of geometric sans; haru.news puts a refined, slightly stern serif *back* into the wallchart, the way a 2026 design school might quietly admit that Jan Tschichold himself recanted. Spectral is used for: the masthead (44px, weight 300, generous letter-spacing), every headline / exercise title (32px, weight 600), all body / lesson steps (19px, weight 300, line-height 1.7), pull-quotes inside circles (26px, weight 400 italic), and footnotes (16px, weight 200 italic). Spectral's low contrast and tall x-height keep it legible at small numbered-step sizes; its slightly condensed roman gives the column a brisk, lecture-hall cadence.
- **Numerals, labels, timestamps — `Space Mono` (weights 400, 700).** Space Mono handles every machine-set element: the date, the build timestamp, the lesson numbers when they appear as labels (`EX. 04`), the grid-coordinate annotations (`R3·C7`), the navigation glyph captions, and the colophon. Mono sits at 95% frequency in the corpus, so it is *not* a differentiator — it is used here strictly as the "this part was set by the machine, not the hand" register, in deliberate contrast to Spectral's "set by hand" body. Set at 13–15px, letter-spacing +0.04em, always uppercase for labels.

No third font. No handwritten face. No grotesk. The whole site is two voices: the serif that explains, and the mono that measures.

**Palette — `ocean-deep` (a 3% slot in the corpus), built as a Bauhaus primary-triad submerged underwater.**

- `#0A1A2F` — **Abyss Navy.** The page background. Not black — a deep, slightly green-leaning ocean navy, the color of water at 40 meters. Everything sits on this.
- `#F4F0E6` — **Proof Paper.** The warm off-white of uncoated press stock. Used for all body text, the column's faint inner panel, and the registration-mark rules.
- `#1B3A5C` — **Deep Current.** A mid ocean-blue, one step up from Abyss. Used for the background grid lines (at low opacity), the secondary plate panels, and hover states.
- `#E63946` — **Vermilion Buoy.** The Bauhaus red, dimmed and salted — the warning-buoy red you'd see breaking the surface. This is the *circle* color (the "idea"). One accent, used sparingly: the masthead dot ●, the active nav glyph, the lesson-number disc, and the bounce-landing flash.
- `#F4A93B` — **Sodium Lamp.** A warm amber-gold — the color of a dock light on the water at night. This is the *square* color (the "context"). Used for headline underscores and the square plate-element fill at 20% opacity.
- `#2A9D8F` — **Tide Teal.** A blue-green, the only "cool" accent that isn't navy. This is the *triangle* color (the "vector"). Used for the pointing line, the "what happens next" footnote rule, and link underlines.

The three accent hues (Vermilion / Sodium / Tide) are the **Bauhaus primary triad** (red / yellow / blue) translated into an oceanic key — warm where Bauhaus would be pure, dimmed where Bauhaus would be saturated, so they read as *signage seen through water* rather than poster paint. Body type is always Proof Paper on Abyss Navy: high-contrast, restful, museum-label calm.

## Imagery and Motifs

**No photography. No 3D render. No gradient mesh. No stock illustration. No icons from a library. No watercolor. No hand-drawn imperfection.** Every visual element on haru.news is **vector art** (a 3% slot in the corpus — deliberately uncommon) authored as inline SVG, hard-edged, flat-filled, no filters except a single grain overlay.

1. **The primary-shape vocabulary.** Each dispatch-plate is composed from the three Bauhaus primitives — circle, square, triangle — drawn as plain `<circle>` / `<rect>` / `<polygon>` with flat fills from the accent triad. No gradients on the shapes (gradient sits at 97% in the corpus; haru.news refuses it entirely on the geometry). The shapes are *large* — the circle is typically 280–340px diameter — and they carry text directly: `<textPath>` along the circle's edge for pull-quotes, plain `<text>` centered for lesson numbers.

2. **The modular grid.** Behind every plate, a 12×12 grid of 1px Deep Current lines at 8% opacity, rendered as a CSS `repeating-linear-gradient` (not an image). Small Space Mono coordinate labels (`R3·C7`) sit at a few intersections, as if the typesetter pencilled them in. This is `abstract-tech` (a 3% motif) realized as *the drafting grid itself becomes the tech motif* — the page wears its construction lines on the outside.

3. **Registration marks.** Crosshair `+` glyphs and thin alignment rules, drawn as 1px SVG strokes in Proof Paper, framing the column top and bottom and marking the corners of each square plate-element. They reference litho-press plate alignment — the "this was printed" tell.

4. **The propagation diagram.** One plate per day carries a tiny abstract-tech vignette: a single Vermilion circle, then 3, then 9 smaller Tide-teal circles connected by 1px lines — a flat node-graph showing "how an idea spreads." Pure SVG, no animation library, no canvas. It is the most "tech" the page gets, and it is rendered as a *Bauhaus composition exercise*, not a data-viz dashboard.

5. **The bounce-block.** When a new dispatch enters the viewport, its square plate-element animates in as if a wooden type-block were *set down* on the drafting table — drops 18px and slightly oversized (scale 1.04), then settles with one firm overshoot to its locked grid position, accompanied by a single 1px Vermilion flash-ring that expands and fades. This is `bounce-enter` (a 3% pattern slot — uncommon and the page's signature motion).

6. **Grain.** A single full-page SVG `<feTurbulence>` grain overlay at ~4% opacity, multiply-blended — the tooth of uncoated paper. The *only* filter on the entire site.

## Prompts for Implementation

Build haru.news as **one HTML file, one CSS file, one ES module, one inline SVG `<defs>` block (grain filter + crosshair symbol + the three primitive shape symbols)**. No framework, no router, no bundler, no build step. No GSAP, no Three.js, no Lottie, no canvas, no WebGL. The animation surface is **CSS transitions + a single `IntersectionObserver`** — nothing else.

**Page shell.** A single centered `<main class="sheet">` (max-width 760px, margin auto) holding: `<header class="masthead">` (the wordmark in Spectral 300 + the ● + today's date in Space Mono), then `<nav class="glyph-nav">` (four `<a>` elements, each just a shape glyph ○ □ △ ● with a Space Mono caption), then a `<div class="reg-rule top">` (the registration-mark line), then a vertical stack of `<article class="dispatch" data-shape-seed="N">` plates, then a `<div class="reg-rule bottom">`, then `<footer>` (one mono line: build timestamp + "set by hand"). The whole `<body>` is Abyss Navy `#0A1A2F`; the grain overlay is a fixed `::after` on `<body>` with the SVG turbulence filter at 4% opacity, `pointer-events:none`.

**Each dispatch plate.** A relatively-positioned block, min-height ~88vh, containing: (1) a background layer — the 12×12 grid via `repeating-linear-gradient` in Deep Current at 8%, plus 2–3 absolutely-positioned Space Mono coordinate labels; (2) the **circle** — an SVG `<circle>` filled Vermilion `#E63946`, 280–340px, positioned on a grid intersection, with the lesson number (`EX. 0N` in Space Mono, Proof Paper) centered inside it and an optional pull-quote running along its edge via `<textPath>` in Spectral italic; (3) the **square** — an SVG `<rect>` with a 1px Sodium `#F4A93B` stroke and a 20%-opacity Sodium fill, locked to a 4×4 module block, with the **headline** (Spectral 32px weight 600, Proof Paper) sitting along its top edge and a 2px Sodium underscore beneath it; (4) the **triangle** — an SVG `<polygon>` filled Tide Teal `#2A9D8F`, pointing along a grid diagonal toward (5) the **body steps** — a numbered cascade of 3–4 `<p>` blocks in Spectral 19px weight 300, each prefixed with a Space Mono `1` `2` `3` in a small Tide-teal disc, stepping down the right-hand grid columns; and (6) the **footnote** — "What happens next →" in Spectral 16px italic, sitting under a 1px Tide-teal rule that visually continues the triangle's hypotenuse.

**Storytelling, not promotion.** Every dispatch is a *micro-lesson*. Lead each one with an exercise framing ("Exercise 0N:") and a headline phrased as a how/why question. Body steps explain mechanism before event. The "What happens next" footnote is always a forward-looking observation, never a CTA. **Absolutely no** pricing blocks, no stat-grids of big numbers, no testimonials, no signup forms, no "subscribe" overlays, no social buttons, no related-articles carousel. One plate ("Method") explains *how the wallchart is built* — the grid, the triad, the three shapes — as a literal Bauhaus syllabus page. One plate ("Colophon") lists the two fonts, the six hex values, and the line "composed on a 12×12 modular grid; bounce courtesy of one wooden block."

**Motion — restraint with one signature.** Almost everything is static. The single permitted motion is the **bounce-enter** on each square plate-element: when its `<article>` crosses the `IntersectionObserver` threshold (0.35), add a class that runs a CSS `@keyframes` — `translateY(18px) scale(1.04)` → settle to `translateY(0) scale(1)` with a slight overshoot (use a `cubic-bezier(.34,1.56,.64,1)`-style easing, ~480ms), and simultaneously expand-and-fade a 1px Vermilion `::before` ring on the square. The circle and triangle do *not* bounce — they fade in over 600ms, no transform. Nav glyphs: the active one gets a Vermilion fill, no animation. Links: a 1px Tide-teal underline that's always present (no draw-on-hover — Bauhaus doesn't do hover theatrics). Respect `prefers-reduced-motion` by disabling the bounce (snap straight to settled state) and keeping the fade. The page must feel like a drafting table where exactly one thing — the type-block — gets *set down* with a satisfying little knock, and everything else is already perfectly, calmly in place.

## Uniqueness Notes

This design is built to occupy a **vacant intersection** in the registry's 230-design frequency map. Concrete differentiators from the existing corpus:

1. **Bauhaus (7% in the corpus) executed as a literal teaching wallchart — not as a poster or a card grid.** Most Bauhaus-adjacent designs in the corpus reach for bold geometric *posters*; haru.news instead reconstructs the Vorkurs *demonstration object* — a centered, gridded composition of three primary shapes that each *teach* something. The pedagogical framing is the differentiator, not the geometry alone.

2. **tech-tutorial tone (3% — rare) applied to a `.news` domain.** The corpus's news-flavored sites lean conversational, authoritative, or warm-inviting. haru.news is none of those: every dispatch is a numbered *exercise* with mechanism-first body copy. A news site that explains how things work, step by step, in a deadpan workshop voice, is unattempted here.

3. **serif-revival typography (5%) deliberately fighting a Bauhaus grid — the Tschichold-recants joke made structural.** The Bauhaus rejected serifs; this design puts `Spectral` (a humanist serif revival) *inside* the strict modular grid as the primary voice, with `Space Mono` as the only secondary. That specific tension — refined serif body × rigid geometric layout — is the typographic thesis and doesn't appear in the corpus's Bauhaus entries.

4. **ocean-deep palette (3%) as a submerged Bauhaus primary triad.** Red/yellow/blue are translated into Vermilion Buoy / Sodium Lamp / Tide Teal — dimmed, salted, "seen through water" — over an Abyss Navy ground. The corpus's ocean-deep designs trend calming-spa; haru.news uses the palette for *signage*, which is a different register.

5. **vector-art imagery (3%) + abstract-tech motif (3%) where the construction grid IS the tech motif.** No photography (99% of the corpus has it), no gradient (97%), no card-grid (86%), no bento-box, no dashboard, no hero image. Pure flat SVG primitives on a visible 12×12 drafting grid, with a tiny node-graph propagation diagram as the only "data-ish" element — rendered as a composition exercise, not a viz.

6. **bounce-enter (3% — uncommon) as the single permitted motion, themed as "setting a type-block down."** The corpus's dominant motion patterns are parallax (96%), cursor-follow (86%), spring (85%), stagger (80%), magnetic (79%) — haru.news uses *none* of them. There is exactly one animation: the square plate-element drops, overshoots once, and settles with a Vermilion flash-ring. Everything else fades or is simply static. Motion-as-restraint with a single deliberate "knock" is the opposite of the corpus norm.

Chosen seed (from assignment): **aesthetic: bauhaus, layout: centered, typography: serif-revival, palette: ocean-deep, patterns: bounce-enter, imagery: vector-art, motifs: abstract-tech, tone: tech-tutorial.**

Avoided patterns from the frequency analysis: hand-drawn (96%), glassmorphism (64%), photography (99%), full-bleed (94%), card-grid (86%), gradient (97%), warm palette (97%), parallax (96%), cursor-follow (86%), spring (85%), stagger (80%), magnetic (79%), mono-only typographic identity, dashboard/bento layouts, hero-dominant layouts, and CTA/pricing/stat-grid page furniture.
<!-- DESIGN STAMP
  timestamp: 2026-05-10T12:55:18
  seed: seed
  aesthetic: haru.news is **a Bauhaus preparatory-course wallchart that learned to broadcast*...
  content_hash: 8aa1de6358e8
-->
