brand.mdPreview my brand →

example brand file · Nordlicht (fictional)

A complete DESIGN.md, made by brandmarkdown

This is the full brand file brandmarkdown produced for Nordlicht, a fictional rota app for night-shift teams. Every section is filled, so you can see what an AI tool reads. Download DESIGN.md.

---
version: alpha
name: "Nordlicht"
description: "Nordlicht is rota software for night-shift teams in hospitals and factories. Planners build fair rotas in minutes, and the people on nights see their week, swap shifts and protect their rest from one phone screen. It should feel like a quiet control room at 3 a.m.: dark, legible, unhurried, with one"
colors:
  primary: "#FF6A3D"
  accent: "#7FA7C9"
  surface: "#172840"
  text: "#F4F1EA"
  neutral: "#3A4A60"
  background: "#0E1A2B"
typography:
  h1:
    fontFamily: "Space Grotesk"
    fontSize: 39px
    fontWeight: 700
    lineHeight: 1.1
  h2:
    fontFamily: "Space Grotesk"
    fontSize: 31px
    fontWeight: 700
    lineHeight: 1.15
  h3:
    fontFamily: "Space Grotesk"
    fontSize: 25px
    fontWeight: 700
    lineHeight: 1.2
  body-md:
    fontFamily: "Inter"
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  label-sm:
    fontFamily: "Inter"
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.4
rounded:
  sm: "4px"
  md: "8px"
  lg: "14px"
  pill: "999px"
spacing:
  1: "4px"
  2: "8px"
  3: "12px"
  4: "16px"
  6: "24px"
  8: "32px"
  12: "48px"
  16: "64px"
omitted:
  - section: components
    reason: "components live in the product's code; this file carries brand-level tokens"
# Made with brandmarkdown
# format: bmd-brand-v1
# date: 2026-10-06
# sources:
#   - Colors: https://brandmarkdown.com/colors/#0E1A2B-172840-F4F1EA-FF6A3D-7FA7C9-3A4A60
#   - Fonts: https://brandmarkdown.com/fonts/#h=Space+Grotesk:500,700&b=Inter:400,600,700&m=JetBrains+Mono:400,500&s=16x1.25
#   - Tokens: https://brandmarkdown.com/tokens/#nordlicht
#   - Patterns: https://brandmarkdown.com/patterns/#contour-2207-0E1A2B-3A4A60-7FA7C9
#   - Gradient: https://brandmarkdown.com/gradient/#polar-night
---

Nordlicht

Design system for Nordlicht: one document for people and for AI coding agents. Made with brandmarkdown on 2026-10-06.

How to read this file: the values in the tables are the only allowed values. When something you need is missing, use the nearest listed value and flag it. Sections marked "Not set yet" have no decision behind them, so do not fill them with guesses.

Every part of the brand is set.

Overview

Nordlicht

Nordlicht is rota software for night-shift teams in hospitals and factories. Planners build fair rotas in minutes, and the people on nights see their week, swap shifts and protect their rest from one phone screen. It should feel like a quiet control room at 3 a.m.: dark, legible, unhurried, with one warm light where action is needed.

Art direction

Saved with the brand (style). Layouts, covers and new assets follow these axes.

AxisValue
Compositiongrid (swiss layout)
Shapeorganic
Scalebalanced
Density0.62 (0 airy, 1 dense)
Contrast0.78
Headingssentence case, tracking -0.03em, heavy weight
Color usemono-accent
Motioncalm (measured on the site: typical 480ms, CSS transitions, Web Animations API)
Depthflat
Seed67425

Strategy

Criteria

Judge every design against these, in this order.

1. Rest first: Every screen protects someone's sleep: the next free day and hours of rest are shown before the next shift.

2. Readable at 3 a.m.: Dark ground, large figures, one action per view. If a tired nurse cannot read it in two seconds, it is wrong.

3. Fair in plain numbers: Nights, weekends and swaps are counted and shown to everyone, so fairness is a figure, not a promise.

Audience: Shift planners and ward or line managers in hospitals and factories with 40 to 400 people on rotating nights, and the nurses, technicians and operators who work those nights.

Promise: Rotas that respect sleep

Brand rules

Mark

SVG mark nordlicht-mark, saved with the brand (mark.svg).

Rules for the mark: see Mark rules below.

Colors

RoleNameHEXRGBText on itContrast
primaryEmber#FF6A3Drgb(255, 106, 61)#0E1A2B6.14:1 AA
accentFjord#7FA7C9rgb(127, 167, 201)#0E1A2B6.89:1 AA
surfaceSlate#172840rgb(23, 40, 64)#F4F1EA13.17:1 AAA
textPaper#F4F1EArgb(244, 241, 234)#0E1A2B15.50:1 AAA
neutralRidge#3A4A60rgb(58, 74, 96)#F4F1EA8.00:1 AAA
backgroundNight#0E1A2Brgb(14, 26, 43)#F4F1EA15.50:1 AAA

Roles

Contrast pairs

WCAG 2.x ratio, either color can be the text. Normal text needs 4.5:1 (AA), large text and UI shapes 3:1.

PairRatioNormal textLarge text / UI
#0E1A2B / #F4F1EA15.50:1AAAyes
#172840 / #F4F1EA13.17:1AAAyes
#F4F1EA / #3A4A608.00:1AAAyes
#0E1A2B / #7FA7C96.89:1AAyes
#0E1A2B / #FF6A3D6.14:1AAyes
#172840 / #7FA7C95.85:1AAyes
#172840 / #FF6A3D5.22:1AAyes
#7FA7C9 / #3A4A603.55:1noyes
#FF6A3D / #3A4A603.17:1noyes
#F4F1EA / #FF6A3D2.52:1nono
#F4F1EA / #7FA7C92.25:1nono
#0E1A2B / #3A4A601.94:1nono
#172840 / #3A4A601.65:1nono
#0E1A2B / #1728401.18:1nono
#FF6A3D / #7FA7C91.12:1nono

Typography

RoleFamilyWeightsSource
headingSpace Grotesk500, 700google
bodyInter400, 600, 700google
monoJetBrains Mono400, 500google

Load the fonts:

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">

Scale: 16px base, ratio 1.25.

SteppxremUse
xs10.2px0.638remCaptions, legal
sm12.8px0.8remLabels, secondary UI
base16px1remBody
lg20px1.25remLead paragraph
xl25px1.563remSmall headings
2xl31.3px1.956remCard titles
3xl39.1px2.444remSection headings
4xl48.8px3.05remPage headings
5xl61px3.813remHero, display

Spacing & shape

TokenValue
--space-14px
--space-28px
--space-312px
--space-416px
--space-624px
--space-832px
--space-1248px
--space-1664px
TokenValue
--radius-sm4px
--radius-md8px
--radius-lg14px
--radius-pill999px
--border-width-11px
--border-width-21.5px

Elevation & motion

TokenValue
--shadow-10 1px 2px rgba(4, 9, 16, 0.40), 0 4px 12px rgba(4, 9, 16, 0.28)
--shadow-20 8px 28px rgba(4, 9, 16, 0.45)
TokenValue
--duration-fast200ms
--duration-base320ms
--duration-slow480ms
--duration-calm640ms
--ease-standardcubic-bezier(0.2, 0, 0, 1)
--ease-entercubic-bezier(0, 0, 0.2, 1)
--ease-exitcubic-bezier(0.4, 0, 1, 1)

Under prefers-reduced-motion, set durations to 0ms.

Components

Derived rules. Components read roles and tokens, never raw values.

Patterns & shapes

1. contour, seed 2207

{
  "lines": 22,
  "spacing": 14,
  "stroke": 1.2,
  "noise": 0.34,
  "accentEvery": 6,
  "note": "isolines read as a night sky over a quiet ward"
}

2. stripe, seed 618

{
  "bands": 14,
  "minWidth": 0.35,
  "maxWidth": 1.65,
  "accentEvery": 4,
  "note": "shift bands: each band is one block of a rota"
}

Use patterns as backgrounds for covers, dividers and social frames. Keep text off busy areas or put it on a solid plate.

Gradients

1. Polar night

background: radial-gradient(at 18% 22%, #172840 0px, transparent 62%), radial-gradient(at 84% 16%, #7FA7C9 0px, transparent 62%), #0E1A2B;

2. First light

background: radial-gradient(at 18% 22%, #3A4A60 0px, transparent 62%), radial-gradient(at 84% 16%, #FF6A3D 0px, transparent 62%), #0E1A2B;

Voice

From Voice. These rules are the only allowed choices for any text the brand publishes.

TraitSo we doSo we never
CalmShort sentences, plain verbs, the next step stated once.Hype, urgency words, exclamation marks.
ExactNumbers with units: 38 h rest, 3 nights left, 06:00.Vague adjectives like seamless or powerful.
On their sideWrite from the night worker's seat and name the cost of a bad rota.Talk about productivity at the expense of rest.
Quietly warmA human line at the end of a long shift: 'Sleep well. Your next shift is Thursday 22:00.'Jokes about tiredness, coffee or zombies.

Say this, not that

SayNot
Next shift in 38 hYou have 1.6 days off
Swap sent to MartaYour request has been submitted successfully!
3 nights left this monthNight quota: 3/8 remaining
This rota gives Ward 4 two free weekendsOptimised staffing coverage achieved

Mechanics

Samples

Imagery

For photos and generated images. Keep every row; change only the subject.

PartRule
Stylequiet documentary photography, real workplaces at night, muted color with one warm practical light
Peoplenurses, technicians and line operators aged 25 to 60, in real uniforms, mid-task or resting, never posing at the camera
Backgroundhospital corridors, nurses' stations, factory floors and break rooms after dark, deep blue ambient tones close to #0E1A2B
Lightlow ambient light, one warm source such as a desk lamp or a phone screen in a tone close to #FF6A3D, soft shadows
Framingeye level, 35 mm, generous negative space on one side for text, subject off-centre on the third
Neverstock smiles, thumbs up, glowing blue holograms, coffee and zombie jokes, sleeping people shown as lazy, logos of real hospitals

Lexicon

Use the left column. Never write the right one.

We sayWe never say
rotaschedule grid
restdowntime
night workerresource
teamheadcount
swapshift exchange request
plannerscheduler admin
hours of restoff-time
fair rotaoptimised coverage

Color use

Proportions on a typical page or layout:

ColorShare
#0E1A2B60%
#17284018%
#F4F1EA12%
#3A4A605%
#7FA7C93%
#FF6A3D2%

Type scale

LevelFontSizeWeightLine height
DisplaySpace Grotesk61px7001.05
H1Space Grotesk49px7001.1
H2Space Grotesk39px7001.15
H3Space Grotesk25px5001.2
BodyInter16px4001.5
LabelInter13px6001.4
Time and dataJetBrains Mono14px5001.4

Mark rules

Never:

Audiences & tone

AudienceWhat they wantTone
Shift plannersA fair rota built in minutes that holds up when two people call in sickpractical, exact, peer to peer
Night workersTo see their week, swap a shift fast and know when they can sleepcalm, warm, short
Ward and line managersCoverage they can trust and fewer overtime hoursfactual, numbers first
HR and works councilsProof that rest rules and labour law are keptprecise, neutral, cites the rule

Tone by channel:

ChannelToneExample
Product UIshort, calm, the next step onlySwap sent to Marta. You'll hear back before 18:00.
Push notificationsone line, time first, never at sleeping hoursThu 22:00 shift confirmed. Rest before it: 38 h.
LinkedInevidence from wards and lines, one number per postWard 4 cut night swaps from 3 days to 2 taps.
Email to plannerspractical, one task per emailDecember rota is ready to check: 2 gaps on Ward 2.
Sales deckplain, numbers first, no superlativesAverage rest between nights: 31 h before, 38 h after.

Video

Motion

Do

Don't

Code

Brand variables

:root {
  --brand-background: #0E1A2B;
  --brand-surface: #172840;
  --brand-text: #F4F1EA;
  --brand-primary: #FF6A3D;
  --brand-accent: #7FA7C9;
  --brand-neutral: #3A4A60;
  --brand-font-heading: "Space Grotesk", system-ui, sans-serif;
  --brand-font-body: "Inter", system-ui, sans-serif;
  --brand-font-mono: "JetBrains Mono", ui-monospace, monospace;
}

tokens.css

From Tokens. Import once; :root holds the default scheme, data-theme="dark" switches a subtree to the dark variant.

:root {
  --color-bg: #0E1A2B;
  --color-surface: #172840;
  --color-text: #F4F1EA;
  --color-text-muted: #B9C3CF;
  --color-primary: #FF6A3D;
  --color-on-primary: #0E1A2B;
  --color-accent: #7FA7C9;
  --color-on-accent: #0E1A2B;
  --color-border: #3A4A60;
  --color-focus: #7FA7C9;
  --font-heading: "Space Grotesk", system-ui, sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --border-width-1: 1px;
  --border-width-2: 1.5px;
  --shadow-1: 0 1px 2px rgba(4, 9, 16, 0.40), 0 4px 12px rgba(4, 9, 16, 0.28);
  --shadow-2: 0 8px 28px rgba(4, 9, 16, 0.45);
  --duration-fast: 200ms;
  --duration-base: 320ms;
  --duration-slow: 480ms;
  --duration-calm: 640ms;
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-enter: cubic-bezier(0, 0, 0.2, 1);
  --ease-exit: cubic-bezier(0.4, 0, 1, 1);
}

/* dimmed control rooms and wards after 22:00: lower luminance, same roles */
[data-theme="dark"] {
  --color-bg: #08111D;
  --color-surface: #0E1A2B;
  --color-text: #E4E0D6;
  --color-text-muted: #9AA6B4;
  --color-primary: #E85E36;
  --color-on-primary: #08111D;
  --color-accent: #6F94B4;
  --color-on-accent: #08111D;
  --color-border: #253549;
  --color-focus: #7FA7C9;
  --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.55);
  --shadow-2: 0 8px 24px rgba(0, 0, 0, 0.6);
}

tokens.json

W3C Design Tokens format, shipped next to this file as tokens.json. Top-level groups: space, radius, duration, ease, color.

Sources

Make your own brand file in a minute.

Paste your website. Free while in beta. No account, no card.

more guides

Make ChatGPT use your brandWhat is DESIGN.mdBrand file template for AIGive Claude your brandBrand voice promptExample brand file