coderef

mainfra.me

Industrial confidence on a Nuxt scaffold. A tightly restrained palette of warm white, near-black charcoal, and a single punchy tomato-red accent frames a portfolio that communicates craft through restraint.
DownloadRaw
mainfra.me

Build with the mainfra.me look.

Palette, type and components from this DESIGN.md, applied to a sample hero.

Palette

At a glance

Theme
light
Typefaces
PP Neue Montreal, Nuxt
Sections
9
Length
475 words

Add it to your project

Then prompt your agent

Design System · mainfra.me

Light and dark previews, tokens and a ready-to-use package, generated from this DESIGN.md. No AI involved: the same file always produces the same output.

Generating design system…

DESIGN.md

DownloadRaw

mainfra.me — Design System Reference

1. Visual Theme & Atmosphere

Industrial confidence on a Nuxt scaffold. A tightly restrained palette of warm white, near-black charcoal, and a single punchy tomato-red accent frames a portfolio that communicates craft through restraint. PP Neue Montreal carries all the visual weight — the geometric grotesque works at every size from tiny labels to oversized display. The single notable shadow (rgba(41,41,41,0.3) at 48px) creates a deep cinematic pool under hero elements.


2. Color Palette & Roles

  • background: rgb(255, 255, 255)
  • text: rgb(41, 41, 41) — warm near-black
  • surfaceTint: rgb(226, 222, 218) — warm beige/sand for section backgrounds
  • accent: rgb(235, 78, 61) — tomato red, used sparingly as a single active signal

Notably absent: Multi-colour palette


3. Typography Rules

Typeface(s): PP Neue Montreal

Tech stack fonts hint: Nuxt

  • display: 36px+ PP Neue Montreal 500
  • body: 18.9px/21.7px 400
  • labels: 12px 500, tight tracking

Philosophy: Each size level reinforces hierarchy without relying on colour.


4. Component Stylings

Border Radius: None detected — sharp architectural edges

Shadows: rgba(41, 41, 41, 0.3) 0px 48px 112px −32px — one dramatic depth shadow for hero

Gradients: None

Components lean on spacing and typography for distinction rather than decorative chrome. Buttons likely use filled + ghost variants in the primary colour.


5. Layout Principles

Built on Nuxt. Layouts follow a content-first grid — wide gutters, deliberate whitespace rhythm. Section breaks use background-colour contrast rather than divider lines.


6. Depth & Elevation

Elevation system: rgba(41, 41, 41, 0.3) 0px 48px 112px −32px — one dramatic depth shadow for hero. Depth is used purposefully, not decoratively.


7. Do’s and Don’ts

Do:

  • Use the exact colour roles as defined — each serves a specific semantic purpose
  • Respect the typeface role boundaries (each font has one job)
  • Preserve generous whitespace — crowding breaks the design language
  • Keep interactions restrained: hover opacity or colour-shift, not complex transforms

Don’t:

  • Introduce colours outside the defined palette
  • Mix typefaces beyond the established pairing
  • Add drop shadows where the design is intentionally flat
  • Use gradients unless the site already employs them
  • Add Multi-colour palette
  • Add rounded corners

8. Responsive Behavior

Nuxt-based; fluid type scaling implied by custom viewport properties (–full-viewport, --frame-height)

On mobile, the core design language holds — the reduction is spatial (tighter gutters, stacked columns) not stylistic. Colour, typography, and component styles remain unchanged.


9. Agent Prompt Guide

Use this as a one-paragraph brief when prompting an AI to build in this design language:

“Nuxt portfolio: white bg, warm charcoal text, PP Neue Montreal only, single tomato-red accent, sharp corners, one dramatic 48px cinematic shadow, warm beige section fills”


Generated by Sparkbites — extracted from live CSS analysis

All indie designs →

Brand names describe the visual style only; coderef is not affiliated with or endorsed by any brand listed. Licenses