# Design Language for tsundere.style

## Aesthetics and Tone

tsundere.style is staged as a **botanical conservatory of frosted glass**, set inside an Edwardian-era greenhouse that has been retrofitted as a quiet style-bureau for a single, slow-spoken curator. The aesthetic is **glassmorphism** rendered in the unusual register of a sun-warmed plant atrium at four in the afternoon: panes that fog at their lower edges, brass mullions, the green hush of philodendrons pressing against the glass from the outside. The tone is **optimistic-bright** without being giddy — the page glows with the high, luminous green of late spring and the gold-cream of the lime-washed plinths inside the conservatory, but every panel is held in place by the calm gravity of a slab-serif headline cut from a sheet of veined Carrara marble. The contradiction is deliberate: the cheer of light through frosted glass, suspended on the seriousness of a museum colophon.

The contradiction is also the domain's argument. "tsundere" means a surface coolness that protects an underlying warmth, and "style" here is the catalogue of clothing, posture, and small ornaments the curator has gathered — frosted on the outside, optimistic-bright through the seams. Nothing is sold; nothing is quantified; the whole site reads as a conservatory tour given on a quiet weekday, in which each successive pane reveals one more arranged tableau.

The competing emotional axes that the page must hold simultaneously:

1. **Greenhouse warmth** — the bright, optimistic, sun-bleached green of spring foliage seen through frosted glass.
2. **Curatorial gravity** — the slow, weighted authority of a marble museum label, cut in a slab-serif and set in small caps.
3. **Tsundere refusal** — the page never asks, never persuades, never performs urgency; it lets the visitor wander between panes the way one wanders between palms.

This is not a SaaS-glassmorphism page. The corpus already runs glassmorphism at 17%, and the trap to avoid is the corporate-frosted-card-on-purple-gradient cliché. Here, glassmorphism is reframed as **architectural glazing inside a botanical building** — frosted panes set in green-veined marble jambs, with hexagonal honeycomb skylights overhead. That reframing is what gives the page its emotional weather.

## Layout Motifs and Structure

The page is a **vertical promenade through a single greenhouse** built from **hexagonal honeycomb cells** (corpus rate 0%). The structural grammar is rigorous: every meaningful piece of content sits inside a regular pointy-top hexagon, and the hexagons interlock into a true honeycomb lattice with no gutters and no rectangular safe zones.

**Hex math (axial coordinates, pointy-top):**

- Large cells: flat-to-flat width `clamp(220px, 19vw, 280px)`, height = width × `2/sqrt(3)`.
- Medium cells: 0.62 × large.
- Small cells (ornament/label only): 0.34 × large.
- Column step `x = 0.866 × W`; row step `y = 0.75 × H`. Every odd column is offset by `0.5 × H` on the y-axis.
- The lattice is laid out with CSS Grid `grid-template-columns: repeat(auto-fill, 0.866 × W)` and `clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%)` on each cell.

**Scenes (top to bottom of the conservatory promenade):**

1. **Vestibule** — a single oversized hex with the slab-serif wordmark "tsundere.style" cut into a marble plate, glowing faintly green from behind the frosted glaze.
2. **The Mullion Wall** — a 7-cell honeycomb cluster establishing the curator's voice (one editorial paragraph per cell, each cell a frosted glass pane held by a brass-thin marble jamb).
3. **The Cabinet of Verbs** — a 13-cell cluster of small-and-medium hexes, each containing a single verb in slab-serif small caps ("press", "fold", "fasten", "wear softly", "leave open"). Hovering a cell triggers a **morph** transition (corpus 5%, used as the page's signature animation): the frosted plane warps via animated `clip-path` and `filter: blur()` interpolation into a different hex outline before settling back, suggesting condensation forming and clearing.
4. **The Marble Plinth** — a wide hex-row of medium cells, each containing a single styled vignette built from **abstract-shapes**: drape-curves, sleeve-arcs, hem-ellipses (no human figures, no clothing photography).
5. **The Skylight Lantern** — a single oversized hex, set against the Carrara-marble ceiling motif, holding the curator's slow, three-line closing remark.
6. **The Conservatory Ledger** — a final 5-cell honeycomb where the only "footer" content (last-updated date, three internal cross-links, a single hand-set initial) lives, each in its own pane.

Vertical rhythm is set by the hex row-step, not by section padding. There are no `<header>`/`<section>`/`<footer>` rectangular bands; the lattice is the structure. Scrolling is one continuous descent through the conservatory.

## Typography and Palette

**Typography (Google Fonts only, verified):**

- **Display & section titles — slab-serif:** *Roboto Slab* at weight 700 for the wordmark, set as `clamp(2.6rem, 6.2vw, 5.0rem)` with `letter-spacing: -0.014em`. Roboto Slab carries the page's "marble museum label" voice — its slabs read as chiselled into stone even at small scales. Section titles use weight 600 at `clamp(1.5rem, 2.6vw, 2.2rem)` in **small caps** (achieved with `font-feature-settings: "smcp"`), `letter-spacing: 0.16em`, sat against the marble veining.
- **Editorial body — humanist serif counterweight:** *Source Serif 4* at weight 400, `1.02rem`, `line-height: 1.62`, `letter-spacing: 0.002em`. Source Serif 4's calm, slightly low-contrast italic provides the conservatory's "spoken" register — the curator's whispered remarks. Italics are used heavily because the curator favours subordinate clauses.
- **Hex labels & numerals — slab-serif small caps:** *Roboto Slab* weight 500 at `0.74rem`, `letter-spacing: 0.22em`, uppercase. Used for verb-cells and ornament labels.
- **Marginalia — monospaced for the ledger only:** *JetBrains Mono* weight 400 at `0.78rem` — used solely in the Conservatory Ledger for dates and cross-link slugs.

Font loading is `display: swap` with subset `latin` only.

**Palette — forest-green conservatory at 4 p.m., 8 stops:**

- `#0F2A1E` — **Cypress Floor**, the deepest forest green; used for the conservatory's tiled-glass floor reflection and for body copy on the lightest panes.
- `#1F4D33` — **Fern Spine**, mid-dark green; used for the marble jamb veining and for slab-serif small caps on cream backgrounds.
- `#3E7A52` — **Spring Lawn**, the optimistic-bright greenhouse green that defines the page's mood; used for hex outlines, hover-glow on morphing cells, and the wordmark's back-glow.
- `#86C58E` — **Limewash**, a dusty, sun-bleached green; used for ornamental marble veins and for the conservatory's interior glow.
- `#F4F0E1` — **Cream Vellum**, the lime-washed marble base tone; used for the dominant cell fill.
- `#FFFBEA` — **Skylight Cream**, the optimistic-bright highlight; used in the Skylight Lantern and on hovered hex centres.
- `#C9A86A` — **Brass Mullion**, the only metallic accent; used for hex strokes (1px) and for the wordmark's lower edge.
- `#F8F6F0` — **Marble Field**, the off-white veined-marble surface that backs the slab-serif headlines.

**Glassmorphism recipe (per pane):**

- `backdrop-filter: blur(18px) saturate(150%);`
- Background: `linear-gradient(155deg, rgba(244,240,225,0.62), rgba(134,197,142,0.18) 60%, rgba(31,77,51,0.12) 100%);`
- Border: 1px solid `rgba(201,168,106,0.32)` (Brass Mullion at 32%).
- Inner highlight: `inset 0 1px 0 rgba(255,251,234,0.55), inset 0 -1px 0 rgba(15,42,30,0.18);`
- Cells in shadow zones use a darker variant: `linear-gradient(155deg, rgba(31,77,51,0.42), rgba(15,42,30,0.34))`.

The frost is **non-uniform**: each pane has a `radial-gradient` of `rgba(255,251,234,0.18)` placed at a randomised position to suggest condensation, and a 1.5px green `drop-shadow` underneath to suggest the leaves pressing from outside.

## Imagery and Motifs

**No photographic imagery.** All visual content is rendered as inline SVG **abstract-shapes** (corpus rate 1%, deliberately underused) layered behind the glass.

Six recurring motifs, each living in a specific zone of the conservatory:

1. **Marble-classical jambs.** The interstitial spaces between hex cells are filled with a procedurally generated **veined Carrara marble** texture, drawn entirely in CSS+SVG (no image files). The recipe: a `#F8F6F0` base, a layered SVG `<filter>` chain of `feTurbulence baseFrequency="0.012 0.04" numOctaves="3"` → `feDisplacementMap scale="14"` → `feColorMatrix` rotating the hue toward `#1F4D33` at 8% opacity. The veins read as authentic marble at any zoom level. This is the page's signature **marble-classical** motif (corpus rate 0%).

2. **Frosted hex panes.** Every cell uses the glassmorphism recipe above. The frost is animated subtly: a 6-second `@keyframes` cycle gently shifts the radial-gradient highlight position by ±4px, mimicking the slow movement of condensation under the conservatory's afternoon sun.

3. **Brass mullions.** A 1px Brass Mullion (`#C9A86A`) line traces every hex edge, with a 0.5px inner highlight (`rgba(255,251,234,0.4)`) and a 0.5px outer shadow (`rgba(15,42,30,0.3)`) to give the metal three-dimensionality.

4. **Abstract-shape vignettes.** Inside the Marble Plinth row, each hex contains a single SVG vignette built from gentle, hand-tuned bezier curves — a draped sleeve as one continuous arc, a coat hem as a long ellipse, a pleated skirt as three nested catenaries. Stroke is `#1F4D33` at 1.5px on `#F4F0E1`; no fills. The shapes are interpretively figurative — they *suggest* clothing without rendering it.

5. **Morph transitions.** The page's signature interaction. On hover (and on viewport-entry, staggered), every hex performs a **morph** animation: its `clip-path` polygon is interpolated through three intermediate non-hex shapes (a softened pentagon, a gently lobed teardrop, a 7-pointed rosette) over `1100ms cubic-bezier(0.22, 1, 0.36, 1)`, with the `backdrop-filter` blur shifting from `18px` → `4px` → `18px` so the contents come into focus at the morph's apex. This is implemented with the `path()` syntax and a CSS custom-property `--morph-progress` driven by a single rAF loop, plus a `prefers-reduced-motion` static fallback.

6. **The Skylight Lattice.** Above the page (rendered as `position: fixed; inset: 0 0 auto 0; height: 30vh; pointer-events: none;`), a translucent honeycomb of small hexes scrolls 0.4× the body scroll, simulating the Edwardian skylight overhead. The lattice fades from `rgba(134,197,142,0.22)` at top to fully transparent at bottom and dapples Spring Lawn-green light onto everything below.

## Prompts for Implementation

1. **Stack:** A single static `index.html`, one `styles.css`, one `script.js` (~7kb). No framework, no build step, no images. All marble, all glass, all hex outlines are CSS+SVG. The page is one document, no routing.

2. **DOM skeleton:** `<body class="conservatory">` containing `<main class="lattice">` containing N `<article class="hex hex--<size> hex--<scene>" data-hex-axial="q,r">` elements. Each `<article>` has `clip-path: polygon(...)` for hex shape, glassmorphism backdrop-filter, and a single child `<div class="pane-content">` for typography. The `<main>` element uses `position: relative` and the hexes are absolutely positioned by computed axial-to-pixel transforms set as inline `--x` / `--y` custom properties.

3. **The Skylight Lattice** is a single `<div class="skylight" aria-hidden="true">` containing 30 absolutely-positioned small hexes generated by JS once on load.

4. **Marble texture:** an inline `<svg width="0" height="0">` at the top of `<body>` defines a `<filter id="marble-vein">` with the `feTurbulence + feDisplacementMap + feColorMatrix` chain. Marble-veined backgrounds use `filter: url(#marble-vein)` on a flat color div.

5. **Morph animation:** define a CSS custom property `--clip-stops` per hex; use `@property --morph-progress { syntax: '<number>'; inherits: false; initial-value: 0; }` and animate `clip-path` between the four polygon stops with `transition: clip-path 1100ms cubic-bezier(0.22, 1, 0.36, 1)`. Trigger via `:hover` and via an `IntersectionObserver` that adds a one-shot `.morphed-once` class.

6. **No CTAs, no pricing, no testimonials, no stat-grids, no feature comparison tables, no email capture.** This page is a slow walk through a conservatory. The only "interactive" elements are: hex-hover morphs, a slow parallax skylight, and a single hidden console message left by the curator.

7. **Storytelling pacing.** The promenade is **vertical and slow**: each hex cluster occupies ~80–110vh of scroll, so the visitor descends through the conservatory at a meditative pace. No `scroll-snap`; the rhythm is set by the hex row-step itself.

8. **Hidden curator's note.** A single line is `console.log`'d: `"the conservatory is open whenever the door is."` — set in slab-serif via `%c` with `#3E7A52`, no other tracking, no analytics.

9. **No JavaScript routing, no SPA, no service worker, no fonts beyond the four named families above.** All four fonts are loaded from a single `<link>` to fonts.googleapis.com with `display=swap`.

10. **Responsive policy:** the honeycomb reflows by reducing column count, never by collapsing to a stacked rectangular layout. On `max-width: 600px`, large hexes become medium, mediums become small, and the page remains a honeycomb.

## Uniqueness Notes

**Chosen seed/style:** aesthetic: glassmorphism, layout: hexagonal-honeycomb, typography: slab-serif, palette: forest-green, patterns: morph, imagery: abstract-shapes, motifs: marble-classical, tone: optimistic-bright.

1. **Glassmorphism re-staged as Edwardian conservatory glazing, not SaaS frosted cards.** Glassmorphism runs at 17% across the corpus and is overwhelmingly used for purple-gradient SaaS dashboards and pricing cards. Here it is reframed as **architectural greenhouse glass** — frosted panes set in brass mullions inside a botanical building, with condensation that animates and a green leaf-glow pressing from behind. The page contains no dashboard, no pricing, no card-grid; the glass is structural, not chrome.

2. **Hexagonal-honeycomb (0%) used as the entire structural grammar with rigorous axial coordinates.** No `<header>`, no `<section>` bands, no rectangular safe zones — the honeycomb is the page. Other corpus designs that touch hex motifs use them decoratively; here every paragraph, every label, every footer datum lives inside a clip-path hexagon, and the lattice is laid out by true (q, r) axial math, not by an approximation.

3. **Marble-classical (0%) constructed entirely in CSS+SVG, no raster.** The Carrara veining is a procedurally generated `feTurbulence + feDisplacementMap + feColorMatrix` chain rather than an image. The page ships zero JPGs/PNGs and the marble holds up at any zoom. Marble-classical as a motif is at 0% in the corpus; as a procedurally generated CSS texture it is functionally unique here.

4. **Morph (5%) as the signature interaction, executed as `clip-path` polygon interpolation through non-hex intermediates.** Where corpus uses of "morph" tend toward shape-blob backgrounds or button hover-states, this page treats morph as the conservatory's emotional metaphor: condensation forming and clearing on a frosted pane. Each hex morphs through pentagon → teardrop → rosette → hex over 1.1s with synchronised blur reduction at the morph apex, producing a focus-and-fog rhythm that no other site in the corpus uses.

5. **Forest-green palette (0%) in the unusual register of optimistic-bright (6%).** The corpus uses bright palettes overwhelmingly with neon, pastel, or warm-tone bases; using a forest-green base in an optimistic-bright register — sun-warmed greenhouse green rather than emerald-corporate — places this page in an emotional zone the corpus has not yet occupied.

6. **Slab-serif typography (2%) deployed as marble museum-label voice rather than display headlines.** Roboto Slab here is set in small caps with high tracking, anchored on procedurally generated marble veining, to read as chiselled rather than printed. Most corpus uses of slab-serif default to display-poster or editorial-magazine treatments; the museum-colophon register is unused.

7. **Avoided patterns from frequency analysis:** photography (82%, avoided entirely), minimal imagery (26%, transcended via abstract-shapes), card-grids and CTA-heavy layouts (avoided by structural decision — no rectangular containers exist), neomorphism (2%) and skeuomorphic (1%) treatments (avoided — frost is architectural, not skeuomorphic), and the typical glassmorphism-on-purple-gradient SaaS cliche (avoided by binding the frost to forest-green and brass).

8. **Tsundere reading.** The "cool surface, warm interior" of the domain name is encoded in the page's primary gesture: every cell looks frosted and reserved at first glance, then morphs to clarity on attention, briefly reveals a warm interior of cream-gold and spring-green, and resolves back to frost. The site refuses to ask, refuses to persuade, refuses to count — it lets the visitor wander, and warms only when noticed.
<!-- DESIGN STAMP
  timestamp: 2026-05-10T09:38:13
  seed: seed
  aesthetic: tsundere.style is staged as a **botanical conservatory of frosted glass**, set i...
  content_hash: 4a171c6d107a
-->
