# Design Language for tsundere.party

## Aesthetics and Tone

tsundere.party is a site that does not want you here — and is desperate for you to stay. The whole design is built on a single behavioral gag: the **tsundere personality rendered as an interface**. The outer shell is cold, blunt, and slightly hostile — a **neubrutalist** concrete-and-rebar landing page with hairline-thin borders, ALL-CAPS condensed headlines, exposed structural grid, and a palette of slate, chalk, and ink. It looks like a municipal parking authority that resents being looked at. "It's not like this party is *for* you or anything."

But the warmth is real and it leaks. Hover, scroll, dwell — and the brutalism *blushes*. Borders that were 1px charcoal swell and soften to a rounded blush stroke. Cold gray panels warm at the edges into a powder-pink gradient like a face caught off guard. A flat municipal sans-serif headline grows a single hand-drawn heart over the dot of an "i" and then pretends it didn't. The site is two-faced **on purpose** — the "tsun" (prickly, cold) state and the "dere" (lovestruck, sweet) state are not themes you toggle; they are emotional weather that the page genuinely cannot keep hidden the longer you interact with it.

Tone register: **edgy-rebellious** on the surface (clipped copy, eye-rolls, "whatever", deflection) sitting on top of a **warm-inviting** core that keeps slipping through the cracks. The .party TLD is taken literally — this *is* an invitation to a party — but issued by a host who would rather die than admit they spent all afternoon decorating. Think shoujo-manga screentone meets a Soviet-era pamphlet meets a hand-passed note folded into a triangle.

## Layout Motifs and Structure

The skeleton is **diagonal-sections** — the page is sliced by hard 7° shear lines, like a brutalist building photographed from a low corner, or like the speed-lines and dramatic panel-cuts of a manga page at an emotional climax. Diagonal-sections sit at ~6% in the corpus, so the slanted composition reads as deliberate, not default. Nothing here is a comfortable horizontal band.

- **The Cold Slab (hero):** Full-bleed, top of page. A massive condensed headline jammed hard against the left margin — `tsundere.party` set in heavy uppercase, letter-spacing slightly *too* tight, like clenched teeth. A thin "DON'T GET THE WRONG IDEA." kicker above it in mono. Background: bare slate `#2B2D33` with a faint blueprint grid. A single visible "structural" element — a vertical I-beam rule in chalk — runs the full height on the right third. No hero image. No button shouting at you. Just the title, arms crossed.
- **The Cracks (transitional strips):** Between every major section, a thin diagonal seam of exposed "rebar" — a 2px dashed line in blush `#F5A7C0` running through the concrete. These are the only warm thing visible at rest. As you scroll past, each seam draws itself (path-draw-svg) and a tiny line-illustration heart blooms at the seam's midpoint, then the page scrolls on and it's gone.
- **The Confession Cards (content modules):** Content lives on rigid, sharp-cornered cards arranged on a strict broken grid — but each card is a **card-flip**. Front face: cold. Concrete texture, mono label, terse one-liner ("RSVP. or don't."). On hover/tap the card flips on a spring with overshoot — back face: powder-pink, rounded corners *on the back only*, a hand-drawn doodle, and the actual sincere version of the message ("ok fine. i made cupcakes. there's a lot of cupcakes. please come."). The flip is the core interaction and the whole emotional joke of the site.
- **The Margin Notes:** Down the left gutter, a vertical column of small ALL-CAPS labels (PROGRAM / GUESTS / RULES / WHATEVER) acting as section index — brutalist signage. Each one, on hover, very briefly turns lowercase and cursive before snapping back: "rules" → catches itself → "RULES".
- **The Doorway (footer):** The diagonal seams converge at the bottom into a single warm wedge — the page finally just *is* pink here, fully dere, no more pretending. A hand-lettered "you actually came." and a folded-note RSVP form. The shear angle resolves to 0°; the building stops leaning.

## Typography and Palette

**Typefaces (Google Fonts only):**

- **Archivo Black** — the brutalist voice. Used for the wordmark and all major headlines, ALL CAPS, tight tracking. Blunt, structural, immovable. This is the "tsun" speaking.
- **Archivo** (the variable family, weights 400–600) — for body copy and the mono-adjacent UI labels set in its narrow-tracked uppercase. Keeps the cold register coherent.
- **Caveat** — the "dere" voice. A casual handwriting face used *only* on card backs, the rebar-seam heart captions, the footer hand-lettering, and the momentary cursive flickers in the margin index. It is never used at rest on the cold surface — it only appears when the page slips.
- **Space Mono** — the deflection layer. Kickers, RSVP form labels, the eye-roll asides ("// whatever"). Monospace as the sound of someone looking away while they talk to you.

Pairing logic: Archivo Black vs. Caveat is the entire personality split made typographic — geometric municipal slab against unguarded handwriting. Space Mono is the awkward throat-clear in between.

**Palette — `burgundy-cream` warmed toward blush (a 1%-rare base):**

- `#2B2D33` — Wet Slate. Primary cold background, the resting state.
- `#E7E4DC` — Chalk Cream. Cold text on slate, card fronts, the "neutral mask".
- `#5C1A2B` — Sulk Burgundy. Deep wine accent — the color of a flush you're trying to suppress; used for the I-beam rule shadow, hover underlines, footer ground.
- `#F5A7C0` — Blush Wire. The rebar pink. The warm thing leaking through every seam.
- `#FBE3EA` — Cupcake. The full-dere card-back background and the footer wedge — the secret made visible.
- `#9BA0A8` — Concrete Gray. Mid-tone for blueprint grid lines, dashed structure, disabled-looking deflection text.

Rule: at rest, the page is ~85% slate/chalk/gray and only ~15% blush (just the seams). Through interaction the blush ratio climbs; by the footer it's inverted — ~80% cream/blush. The site literally warms up the more attention it gets.

## Imagery and Motifs

- **Imagery: line-illustration + collage.** Hand-drawn single-weight ink doodles (1.5px) — party hats worn at a grumpy angle, a single balloon on a too-short string, crossed arms, a turned-away face with three blush ticks, cupcakes, a folded triangle note, confetti drawn as sharp little shards. On card fronts these are reduced to a faint embossed *outline only*, almost hidden; on card backs they're full, warm, slightly wobbly. Collage layer: torn-paper edges and a faint screentone dot halftone (the manga blush gradient) bleeding from behind diagonal seams.
- **The blueprint grid** — a faint `#9BA0A8` graph-paper underlay on all cold sections, like the page is a construction document. It quietly fades out wherever the blush has "warmed" an area.
- **Speed-lines / shear-lines** — the diagonal section cuts double as manga emotional speed-lines; on big scroll jumps, a brief burst of radiating thin lines from the cursor (cursor-follow but used sparingly, only on dramatic transitions).
- **The recurring heart** — never decorative-by-default. It only ever appears *mid-animation* and is *removed* when the animation settles, so it always feels like something the page is trying to take back. This restraint is the motif's whole point.
- **Screentone halftone** — small CSS radial-gradient dot pattern, the classic shoujo blush texture, used as the transition mask between tsun and dere states of any element.
- **Folded-note shapes** — the RSVP form, the footer, and any "real" message is housed in a shape with one corner folded down, like a passed note.

## Prompts for Implementation

Build as a single self-contained HTML document — one `<style>`, one `<script>`, a Google Fonts link, no framework, no build step. Target a tight payload (~70KB before fonts). Everything below is achievable with CSS transforms, custom properties, `IntersectionObserver`, and a few `pointermove` listeners.

**Storytelling spine — "the host who won't admit they're glad you came":**

1. **Arrival (cold):** Page loads stark, slate, arms-crossed. The wordmark types in via a clipped, almost reluctant reveal — letters snap in left-to-right with a tiny negative-overshoot, like flinching. Kicker reads "DON'T GET THE WRONG IDEA." A single blush seam is visible far down — a hint of warmth you have to scroll toward.
2. **Descent through the cracks:** Each diagonal section is revealed on scroll (scroll-triggered, with stagger on its child cards). Every section seam: an SVG dashed line draws itself (path-draw-svg), a small Caveat caption fades in at the midpoint ("...glad you made it I guess"), holds 1.2s, fades out as you pass. A global `--warmth` custom property (0→1) is driven by scroll progress; it interpolates `body` background from `#2B2D33` toward `#5C1A2B` toward `#FBE3EA`, and increases the radius/softness of every border via `calc()`.
3. **The card flips (the heart of it):** Confession Cards on a broken grid. Hover/focus/tap → `transform: rotateY(180deg)` on a 0.6s spring (`cubic-bezier(0.34, 1.56, 0.64, 1)`), back face revealed: pink, rounded, handwritten, sincere, with the full doodle. A screentone halftone briefly sweeps across during the flip. When the pointer leaves, the card flips back — but ~15% of the time it "fails" to flip all the way back and sits at `rotateY(170deg)`, slightly ajar, until you mouse over again. The page can't fully re-arm its guard.
4. **Margin index micro-gag:** The left-gutter ALL-CAPS labels: on hover each does a quick `text-transform`/font-swap to lowercase Caveat for ~280ms then snaps back to Archivo Black uppercase — "tsun" catching itself mid-blush.
5. **The Doorway (full dere):** Final section: the 7° shear of all dividers eases to 0° (the building straightens). Background fully `#FBE3EA`, all borders now rounded and blush, every doodle full-color and wobbling on a slow idle loop. Hand-lettered headline "you actually came." in Caveat at large size, drawing on with path animation. A folded-note RSVP form (name + "are you coming?" yes/maybe radio) — submit button label cycles its text on hover: "WHATEVER" → "..." → "yes please come". On submit: a single confetti burst of sharp little shards, then a tiny line-drawn heart pops at the cursor and immediately scribbles itself out, replaced by "...don't make it weird about it."

**Motion principles:** springs and overshoot everywhere warmth is involved (the dere reflexes are involuntary, bouncy); hard linear/instant snaps everywhere the tsun re-asserts control (guard going back up is abrupt). Respect `prefers-reduced-motion`: keep the color-warmth and card-flip, drop the speed-lines, confetti, and idle wobbles.

**AVOID:** no CTA-stacked hero, no pricing tiers, no stat counters, no testimonial carousel, no feature-icon trio grid. This is a narrative gag site about a personality, not a product page. The only "conversion" is the folded-note RSVP, and even that is delivered grudgingly.

## Uniqueness Notes

1. **Neubrutalism that physically blushes.** Neubrutalism sits at ~2% in the corpus and is almost always played straight (raw, loud, confident). Here the brutalism is a *defense mechanism* that fails in real time — cold concrete softening into rounded blush borders driven by a `--warmth` scroll property. No other site in the archive uses brutalism as an emotional mask that erodes.
2. **The card-flip carries the entire concept, not just a UI flourish.** Card-flip is moderately common (~10%) but here every card's two faces are literally "tsun" (cold/terse/concrete) vs "dere" (pink/sincere/handwritten), and ~15% of flips intentionally *fail to fully reset* — the design weaponizes an animation glitch as characterization.
3. **A typographic split personality.** Archivo Black (municipal slab) vs Caveat (handwriting) used as two opposed *voices*, with Space Mono as the deflecting throat-clear — and crucially the handwriting NEVER appears at rest, only mid-animation, then gets retracted. Restraint-as-motif.
4. **Diagonal-sections doubling as manga speed-lines** (diagonal-sections ~6%), with a `burgundy-cream`→blush palette (~1% base) and screentone halftone transitions — a shoujo-manga emotional grammar mapped onto a brutalist concrete grid.
5. **Inverted warmth ratio over scroll depth** — page starts ~85% cold, ends ~80% warm; the site literally heats up the more attention it receives, which is the tsundere arc rendered as a gradient.

**Avoided overused patterns (per frequency analysis):** no hand-drawn-everything aesthetic (95%), no glassmorphism (85%), no warm-gradient default palette (warm 98% / gradient 93%) — the resting palette here is deliberately cold slate; no photography (98%) — line-illustration + collage only; no card-grid-as-layout-spine (93%) — diagonal-sections with a broken grid instead; no generic centered hero — the wordmark is jammed hard to the left margin.

**Chosen seed/style:** `aesthetic: neubrutalist (cold shell) softening to playful/warm core, layout: diagonal-sections + broken-grid, typography: bebas/archivo-condensed display + handwritten (Caveat) + tech-mono (Space Mono), palette: burgundy-cream warmed toward blush, patterns: card-flip + path-draw-svg + spring + scroll-triggered, imagery: line-illustration + collage + screentone halftone, motifs: bubble-playful / party + sharp-angles + folded-note, tone: edgy-rebellious surface over warm-inviting core` — derived from seeds.json entry "neubrutalism raw edges blog" pushed through the tsundere conceit.
<!-- DESIGN STAMP
  timestamp: 2026-05-11T08:52:57
  domain: tsundere.party
  seed: seed
  aesthetic: tsundere.party is a site that does not want you here — and is desperate for you ...
  content_hash: 25de92bab2f2
-->
