# Design Language for mujun.study

## Aesthetics and Tone

mujun.study inhabits the visual territory of a 1970s educational television studio that has been softly inflated -- every surface gently ballooning outward as if the architecture itself were breathing. The aesthetic is **blobitecture**: the organic, pneumatic architecture movement of the early 2000s (think Greg Lynn, Future Systems, and the Selfridges Building in Birmingham) recontextualized through the lens of a pastel-toned academic research portal. Where blobitecture in the physical world expressed itself through inflated concrete and bulging titanium, here it manifests as soft, pillowy interface elements that appear to be pressurized from within -- buttons that subtly expand on approach, containers with rounded-beyond-rounded corners (border-radius values exceeding 40px on every element), and section dividers that undulate like the cross-section of a soap bubble membrane.

The tone is **professional** but never stiff. This is the professionalism of a well-funded research institute in Helsinki -- one where the corridors are lined with Alvar Aalto furniture and the whiteboards contain genuinely interesting diagrams. There is intellectual seriousness communicated through spatial generosity and typographic precision, but the blobitecture softens every hard edge, suggesting that knowledge itself is not angular but organic, flowing, always gently deforming under the pressure of new understanding. The word "mujun" (contradiction) is embedded in every design decision: the contradiction between academic rigor and childlike softness, between structured content and amorphous containers, between professional authority and pastel playfulness.

The mood board includes: Karim Rashid's interior designs, the Kunsthaus Graz (the "Friendly Alien"), educational diagrams from 1960s Japanese textbooks, pastel-colored laboratory equipment, the soft geometries of Isamu Noguchi sculptures, and the rounded interfaces of early macOS Aqua -- all filtered through a matte, chalky finish that prevents anything from becoming too glossy or too precious.

## Layout Motifs and Structure

The layout employs a **persistent sidebar** architecture -- a vertical navigation column fixed to the left edge of the viewport, occupying exactly 280px on screens wider than 1200px and collapsing to a blob-shaped floating toggle (a 56px pressurized circle) on smaller screens. The sidebar itself is not a flat rectangle; its right edge follows a subtle SVG-defined bezier curve that gently bulges outward at the vertical center, creating the impression that the navigation column is an inflated membrane pressed against the content area. This bezier edge is animated with a slow, breathing oscillation (8-second CSS animation cycle, 2px of horizontal displacement) that makes the boundary between navigation and content feel alive.

The main content area to the right of the sidebar follows a **modular blob grid** -- content blocks are arranged in a 12-column CSS Grid system, but every block has dramatically rounded corners (minimum border-radius: 32px, maximum: 64px for hero elements). The grid gaps are generous (clamp(1.5rem, 3vw, 3rem)) and irregular -- some rows have 2 columns, others 3, creating a rhythm that avoids monotony. Sections are not separated by horizontal rules or whitespace alone; instead, each section boundary features a subtle SVG wave divider with soft amplitude (20px peak-to-trough) that reinforces the blobitecture vocabulary.

The vertical hierarchy follows an academic paper structure -- introduction, methodology, findings, discussion -- but each section is contained within its own "blob container," a div with overflow:hidden, a large border-radius, and a slightly different pastel background tint, so the page reads as a stack of softly colored research modules floating in the sidebar's gravitational field. The sidebar contains section links that, when hovered, cause the corresponding content blob to gently pulse (scale 1.00 to 1.01 over 400ms ease-in-out), establishing a spatial connection between navigation and content.

Content blocks use internal padding of clamp(2rem, 4vw, 4rem) to create breathing room. Text columns within blob containers never exceed 68ch in width, preserving academic readability. The overall page background is a very soft warm white (#FAF7F2) that prevents the pastel blob containers from floating in stark contrast.

## Typography and Palette

**Typography:**

- **Primary / Body / UI:** "Commissioner" (Google Fonts) -- a variable font with weight axis from 100 to 900 and optical size support. This is the backbone typeface, used for body text (weight 400, size 1.05rem, line-height 1.72), navigation labels (weight 500, size 0.875rem, letter-spacing 0.02em), and metadata/captions (weight 300, size 0.8rem). Commissioner's hallmark is its versatility: at light weights it achieves an airy, almost calligraphic openness, while at heavy weights it becomes a confident, squared-off display face. Its slightly wide proportions and open counters make it exceptionally legible at small sizes, critical for academic content. The variable weight axis allows smooth hover transitions (font-weight animates from 400 to 600 over 200ms on interactive elements), a micro-interaction that exploits the font's continuous design space.

- **Display / Headlines:** "Commissioner" at weight 800 and sizes ranging from 2.5rem to 5rem. Rather than introducing a second typeface, the design exploits Commissioner's dramatic weight range -- the difference between Commissioner 300 and Commissioner 800 is so pronounced that they function as visually distinct typefaces while maintaining perfect harmonic consistency. Headlines are set in sentence case (never uppercase, which would feel too corporate for the blob aesthetic). Line-height for display sizes is tight: 1.08 for sizes above 3rem, 1.15 for sizes between 2rem and 3rem.

- **Accent / Code / Data:** "Fira Code" (Google Fonts) -- a monospaced typeface with programming ligatures, used exclusively for inline code snippets, data labels, timestamps, and numerical values within research modules. Weight 400, size 0.85rem. The monospaced rhythm creates a sharp textural contrast against Commissioner's proportional spacing, reinforcing the academic/research identity. Color for code text: #5B6A8A (a muted steel blue that reads as "data" against pastel backgrounds).

**Palette:**

The palette is **pastel** -- soft, chalky, desaturated colors inspired by Japanese educational materials from the 1960s and the matte finishes of Scandinavian children's furniture. Every color has been selected to avoid the saccharine quality of typical pastels by pulling saturation down and adding a touch of grey warmth.

| Role | Color | Hex | Usage |
|------|-------|-----|-------|
| Background (page) | Warm Parchment | `#FAF7F2` | Full page background, sidebar background-base |
| Background (sidebar) | Soft Lavender Mist | `#E8E0F0` | Sidebar background with 85% opacity over a subtle gradient |
| Blob Container 1 | Powdered Rose | `#F2D9D5` | Primary content sections, introduction blocks |
| Blob Container 2 | Chalk Mint | `#D5EDE4` | Secondary content sections, methodology blocks |
| Blob Container 3 | Muted Periwinkle | `#D5DAF0` | Tertiary content sections, findings blocks |
| Blob Container 4 | Butter Cream | `#F0EAD2` | Quaternary content sections, discussion blocks |
| Text Primary | Soft Graphite | `#3A3640` | Body text, headings -- warm near-black |
| Text Secondary | Dusty Mauve | `#7A6B80` | Captions, metadata, sidebar labels |
| Accent Interactive | Deep Wisteria | `#7B68AE` | Links, active states, hover highlights |
| Accent Hover | Bloomed Iris | `#9B85D0` | Hover states, focus rings, active navigation |
| Border / Divider | Pale Thistle | `#D4C8E0` | Subtle borders on blob containers, wave dividers |
| Code Background | Frosted Lilac | `#EDE8F5` | Background for inline code and code blocks |

The palette avoids pure whites and pure blacks entirely. The darkest value (#3A3640) is a warm graphite with purple undertones; the lightest (#FAF7F2) is a parchment with yellow warmth. This tonal narrowing creates a gentle, non-fatiguing reading environment appropriate for study and research -- the visual equivalent of soft ambient lighting in a well-designed library.

Gradients are used sparingly: a single radial gradient on the sidebar (from #E8E0F0 at center to #DED5EB at edges, radius 120%) creates depth without flashiness. Blob containers may carry a subtle linear gradient (2-3% lightness variation from top to bottom) to suggest curvature and internal pressure -- the visual cue that these are inflated objects, not flat cards.

## Imagery and Motifs

**Custom Illustration as Academic Diagram:**

The primary imagery mode is **custom-illustration** -- hand-crafted vector illustrations in a style that fuses technical diagram precision with blobitecture softness. Every illustration uses the same pastel palette as the UI, creating seamless integration between content imagery and interface chrome. Illustrations depict abstract concepts (contradiction, paradox, study, analysis) through:

1. **Blob Diagrams:** Venn-diagram-like compositions where the circles are replaced by organic blob shapes (SVG paths with cubic bezier curves). These blobs overlap, merge, and separate to represent conceptual relationships. Each blob is filled with a different pastel from the palette, and their overlapping regions use CSS mix-blend-mode: multiply to create naturally darker intersection zones. The blobs pulse gently (Lottie-animated 3-second breathing cycle) to suggest living, evolving ideas.

2. **Inflated Infographics:** Data visualizations where traditional chart elements (bars, lines, pie segments) are rendered with blobitecture aesthetics -- bar charts with rounded tops that look like inflated pillows, pie charts with segments that bulge outward like pressurized compartments, line charts where the line itself has variable stroke-width that swells at data points. All rendered in SVG with the pastel palette.

3. **Retro-Pattern Fills:** Within blob illustrations and as background texture for content sections, **retro patterns** appear as subtle, low-opacity fills. These patterns draw from 1960s-70s graphic design: densely packed small circles (polka dots at 4px diameter, 12px spacing), diagonal hash lines (45-degree angle, 1px stroke, 8px gap), and crosshatch grids (0.5px stroke, 16px cells). The patterns are rendered in #D4C8E0 (Pale Thistle) at 15-25% opacity over the pastel blob fills, adding tactile depth without visual noise. This retro-pattern layer is the textural secret of the design -- it prevents the soft pastels from feeling too smooth, too digital, introducing the grain and density of printed educational materials.

4. **Noguchi-Inspired Decorative Forms:** Standalone decorative illustrations scattered through the page as visual punctuation -- abstract biomorphic shapes inspired by Isamu Noguchi's sculptures. These are simple SVG forms: a kidney shape here, a pebble there, a flowing ribbon form between sections. Each is filled with a solid pastel and casts a soft CSS drop-shadow (0 4px 12px rgba(58, 54, 64, 0.08)) to create the illusion of physical objects resting on the page surface.

**Lottie Animations:**

The site's motion language is defined by **Lottie animations** (rendered via lottie-web or @lottiefiles/lottie-player). Key Lottie sequences include:

- **Breathing Blobs:** A looping animation where decorative blob shapes gently expand and contract (scale oscillation between 0.97 and 1.03, 4-second cycle, ease-in-out). Applied to hero illustrations and sidebar decorative elements.
- **Flowing Pattern Reveal:** When a content section enters the viewport, a Lottie animation reveals the retro-pattern fill from center outward in a radial wipe, taking 1.2 seconds. This replaces the overused scroll-triggered fade-in with a pattern-specific reveal that reinforces the design's visual vocabulary.
- **Navigation Blob Morph:** When the user clicks a sidebar navigation item, a Lottie-driven blob shape morphs from the clicked link position and flows to the target section, creating a spatial bridge between navigation and content. Duration: 600ms, cubic-bezier(0.34, 1.56, 0.64, 1).
- **Concept Illustration Sequences:** Key research concepts are explained through short (3-5 second) Lottie animations where blob shapes split, merge, collide, and reconfigure -- visual metaphors for contradiction, synthesis, analysis, and paradox. These play once on scroll-into-view and can be replayed on click.

## Prompts for Implementation

**Full-Screen Narrative Entry:**

The site opens not with a traditional hero section but with a **full-viewport sidebar-and-blob composition**. The sidebar slides in from the left (Lottie-animated, 800ms, spring easing with 15% overshoot), while the main content area reveals a single enormous decorative blob illustration -- an abstract composition of overlapping pastel shapes with retro-pattern fills -- that fills 70% of the viewport. Within this blob composition, the text "mujun.study" appears in Commissioner weight 800 at 4.5rem, and below it, a subtitle in Commissioner weight 300 at 1.1rem that reads as an academic tagline. The blob composition breathes (Lottie loop). After 1.5 seconds, a gentle downward-pointing chevron (a blob-shaped indicator, not a sharp arrow) fades in at the bottom of the viewport, inviting scroll.

**Scroll Experience as Research Journey:**

Each section below the fold represents a research module. As the user scrolls, each module's blob container scales from 0.96 to 1.0 (150ms ease-out) and its retro-pattern fill animates inward via Lottie. The sidebar's active indicator (a small filled blob next to the current section label) morphs position using CSS transitions (transform, 400ms). The narrative flow moves from abstract concepts to specific findings, each section deeper in both content and color saturation -- the first section uses the lightest pastel (#F2D9D5), and each subsequent section uses a progressively cooler, slightly more saturated tone, ending with Muted Periwinkle (#D5DAF0) -- creating a chromatic journey from warm introduction to cool conclusion.

**Sidebar as Living Organism:**

The sidebar is not a static navigation rail. Its bezier-curved right edge breathes continuously (CSS animation). When the user hovers over the sidebar, all navigation labels transition from Commissioner weight 400 to weight 600 (variable font animation, 200ms), and the sidebar's background gradient subtly shifts (the radial gradient center moves toward the cursor position using a lightweight JavaScript mousemove listener). Active section indicators are small blob shapes (12px diameter) filled with Deep Wisteria (#7B68AE) that scale to 16px when active and pulse once on section change.

**Micro-Interactions with Blob Physics:**

Every interactive element follows blob physics -- elements don't snap; they squish. Buttons on hover scale to (1.04, 0.97) for 150ms then settle to (1.02, 0.99) (a horizontal stretch that mimics a pressurized object being gently squeezed). Links gain a soft underline that is not a border-bottom but an SVG path drawn beneath the text with a gentle wave (amplitude: 2px, wavelength: 20px), animated via Lottie on hover. Card containers, when hovered, exhibit a subtle bulge effect where the border-radius on the hovered side decreases by 8px while the opposite side increases by 8px, creating the illusion of the container deforming toward the cursor.

**AVOID:** CTA-heavy layouts (no "Sign Up Now" buttons, no pricing tables), stat-grids (no "10,000+ Users" counters), cookie-cutter hero sections with stock photography, centered single-column layouts (the sidebar IS the structural differentiator), and any scroll-triggered fade-in/slide-in animations that don't involve blob morphing or pattern reveals. Avoid scroll-triggered as a primary animation strategy; use Lottie sequences instead.

**Technical Notes:**
- Lottie files should be loaded from local JSON (not CDN) for performance. Use @lottiefiles/lottie-player web component.
- Commissioner variable font should be loaded with `font-display: swap` and the full weight range (100-900) via Google Fonts variable font API.
- SVG blob shapes should use `<path>` elements with cubic bezier curves, not `<circle>` or `<ellipse>`, to achieve true organic form.
- Retro patterns should be defined as SVG `<pattern>` elements within a `<defs>` block, referenced via `fill="url(#pattern-dots)"` etc.
- The sidebar's breathing bezier edge should use CSS `clip-path` with a `path()` value animated via CSS `@keyframes`, or an SVG `<clipPath>` with SMIL animation for broader browser support.

## Uniqueness Notes

**Differentiators from other designs:**

1. **Blobitecture as Interface Architecture:** No other design in this portfolio uses blobitecture -- the pneumatic, inflated architectural aesthetic -- as the foundational design language. While organic shapes appear occasionally (organic-blobs imagery at 6%), blobitecture is categorically different: it's not about scattered decorative blobs but about an entire interface that appears pressurized, inflated, breathing. Every container, every divider, every button follows the logic of an inflated membrane. This architectural commitment (not decorative accent) is unique.

2. **Commissioner Variable Font Mono-Family System:** No other design uses Commissioner (0% frequency in typography). More importantly, no other design exploits a single variable font's weight axis as a complete typographic system -- using the same family at weight 300 for captions and weight 800 for display creates harmonic unity while maintaining visual hierarchy. The variable weight animation on hover (font-weight transitions) is a micro-interaction unavailable with static font files.

3. **Lottie-Driven Motion Language (Not Scroll-Triggered):** While 97% of designs rely on scroll-triggered animations and 76% use parallax, this design's motion is powered by Lottie animations (1% frequency). The breathing blobs, pattern reveals, and navigation morphs are self-contained animation sequences that play based on viewport intersection and user interaction, not scroll position. This creates a fundamentally different feel -- elements are alive on their own terms, not puppeted by the scrollbar.

4. **Retro-Pattern Texturing on Pastel Blobitecture:** The combination of retro patterns (1% motif frequency) as textural fills within blobitecture containers creates a visual language that doesn't exist elsewhere in the portfolio. Retro patterns typically appear in flat, 2D vintage contexts; here they are draped over inflated 3D-suggesting surfaces, creating a tension between the flatness of the pattern and the apparent volume of its container -- a visual contradiction perfectly aligned with "mujun" (contradiction) as a concept.

5. **Sidebar as Breathing Organism:** The sidebar layout (25% frequency) is common, but no other design treats the sidebar as a living, breathing entity with an animated bezier edge, cursor-reactive gradient shifts, and variable-font weight transitions. The sidebar here is not a static navigation rail but a pneumatic membrane that responds to proximity and attention.

**Documented Seed / Style:**
- aesthetic: blobitecture
- layout: sidebar
- typography: commissioner-versatile
- palette: pastel
- patterns: lottie-animation
- imagery: custom-illustration
- motifs: retro-patterns
- tone: professional

**Avoided Overused Patterns:**
- playful aesthetic (95%) -- replaced with professional tone
- centered layout (99%) -- replaced with sidebar layout
- mono typography (99%) -- replaced with commissioner-versatile
- warm palette (100%) -- replaced with pastel (cool-leaning pastels with lavender/mint/periwinkle)
- scroll-triggered patterns (97%) -- replaced with lottie-animation
- minimal imagery (94%) -- replaced with custom-illustration
- vintage motifs (84%) -- replaced with retro-patterns (related but distinct: retro-patterns are specific geometric repeating fills, not the broad "vintage" mood)
- friendly tone (98%) -- replaced with professional tone
<!-- DESIGN STAMP
  timestamp: 2026-03-10T16:13:41
  seed: unspecified
  aesthetic: mujun.study inhabits the visual territory of a 1970s educational television stud...
  content_hash: 3d3584f27a18
-->
